我有兩個表連接2個字段。第一個表中的某些行與第二個錶鏈接,有些不是。我怎樣才能選擇那些沒有鏈接到第二個表的?我模擬了這種情況。如何從SQL Server中未鏈接到另一個表的表中選擇行?
create table MainTbl(qno int, idno int, cat int);
create table SubTbl(newno int, idno1 int);
insert into maintbl values(1001, 88, 1);
insert into maintbl values(1002,88,1);
insert into subtbl values(11001, 88);
insert into subtbl values(11002,99);
insert into subtbl values(11003,88);
select * from maintbl,subtbl where (((cat*10000)+qno)=newno) and (idno=idno1);
select * from maintbl
left join subtbl on
(((cat*10000)+qno)<>newno) and (idno=idno1)
drop table maintbl;
drop table subtbl;
第一個select語句是選擇我已經成功的所有鏈接行。
第二個聲明是選擇所有沒有鏈接的行..我仍然試圖找出。
的subtbl
的newno
鏈接到(cat*10000)+qno
的maintbl
的subtbl
的idno1
鏈接到idno
的maintbl
一些括號只好作罷,但爲什麼不把它們全部?他們不需要。 ON m.cat * 10000 + m.qno = s.newno AND m.idno = s.idno1 – tponthieux 2011-02-26 11:33:15