win7 fix it:还是SQL问题

来源:百度文库 编辑:高校问答 时间:2024/05/03 03:03:46
有两个结构完全相同的表
song1,song2
里面有index,title,singer项
我的目的是找到表1中有而表2中没有的歌曲。
注意:有两种情况,
1:歌曲的title不同
2:歌曲的title相同,但是singer不同
这两种情况都是歌曲不同。
语句怎么写啊,谢谢。

这样的肯定是不行
select *
from song1,song2
where (song1.title<>song2.titile)
or (song1.title=song2.title and song1.singer<>song2.singer)

这是前几天我提的同样的问题,还没有解决
http://zhidao.baidu.com/question/4573780.html
xuezi_duan 说的有道理,可是我还是无法运行,
我用的数据库是ms ACCESS XP ,我是一个白痴型的新手,老板给的工作必须完成,所有投入了这么多分,请帮忙啊。越具体越好。

何必写那么复杂呢.这样写很清楚
select * from song1 where (select title,singer from song1) not in (select title,singer from song2)

你的写法是可以的,但是你写的第一个条件中
song2.title写错了,拼写错误。

select *
from song1,song2
where (song1.title<>song2.title)
or (song1.title=song2.title and song1.singer<>song2.singer)

select * from song1 where index not in(SELECT song1.index FROM song1,song2 where (song1.title=song2.title and song1.singer=song2.singer))

select * from [song1] where [title] not in (select [song2].[title] from [song2],[song1] where ([song1].[title]=[song2].[title] and [song1].[singer]=[song2].[singer]))

select *
from song1
where (song1.title<>song2.titile)
or (song1.singer<>song2.singer)