將A與B資料夾Left join後
想將A表的欄位A2和B表欄位B2資料相同的都過濾掉
只要資料有重複"重複的資料一筆都不保留"
EX: 尋找A1欄位01的資料
目的是A1和B1兩編號先結合資料表
(A left join B
on A.A1 = B.B1)
尋找條件(A1='$A1' and A3=0)
後顯示資料表的資料
但若資料表的欄位A2和欄位B2相同則不顯示出來....
因A2 B2的內容重複而不顯示的資料:
第一筆資料重複不顯示
第三筆和第四筆重複(9481) 皆不顯示
第十八筆和第十九筆重複(6134)皆不顯示
$sql="select A1,A2,B2,B3
from A
left join B
on A.A1 = B.B1
where (A1='$A1' and A3=0 ) and A2 <> B2";
嘗試尋找A2 和B2不相同的資料,但A2若和B2相同還是至少會顯示一筆資料出來
EX:重複的三和四會顯示其中一筆,十八和十九也是....
用GROUP BY HAVING也至少會保留一筆重複資料.....
若希望顯示兩個欄位間完全不重複的資料應該怎麼更改才好.....
CREATE TABLE A(A1 nvarchar(10),A2 int);
insert into A
values ('01',10032),
('01',540),
('01',9481),
('01',1235),
('01',10034),
('01',6659),
('01',6134);
CREATE TABLE B(B1 nvarchar(10),B2 int);
insert into B
values ('01',10032),
('01',3684),
('01',1500),
('01',9481),
('01',10031),
('01',6134),
('01',6666);
select *
from A
full outer join B on A.A1=B.B1 and A.A2=B.B2
where (A.A2 is null
or B.B2 is null)
以下未測
select *
from A
full outer join B on A.A1=B.B1 and A.A2=B.B2
where (A.A2 is null
or B.B2 is null)
and (A.A1='$A1' and A.A3=0)
剛去GOOGLE下
full outer join返回AB的所有紀錄不論條件
然後
WHERE 1 = 1 永真
欄位 is null 是判斷欄位是否為空
A先和B完全連結,然後將A2=B2相同的疊上
在判斷沒有空值的欄位顯示的意思嗎???
因為目前已經有
A left join B
on A.A1 = B.B1
在連接不知道能不能再加
A full outer join B
on A.A2=B.B2
同時有要符合A1=$A1 and A3=0的條件在
嘗試了下
$sql="select A1,A2,B2,B3
from A
left join B
on A.A1 = B.B1
where 1=1 and(A1='$A1' and A3=0 )
and A.A2 is null
or B.B2 is null ";
因為要先將A1和B1結合在一起才開始照條件選擇
大概沒辦法將A2和B2合在一起做排除ORZ
大概的目的是
A1和B1兩編號先結合
(A left join B
on A.A1 = B.B1WHERE A1=$A1)
尋找條件(A1='$A1' and A3=0)
後顯示資料表的資料
但若資料表的欄位A2和欄位B2相同則不顯示出來....
沒有將A3顯示出來不好意思,原本是打算弄個簡易的資料表問的
結果害你還要一個一個輸入建出來ORZ
謝謝大大的幫忙,測了幾十個號碼對照是無誤
困擾很久了,一直沒成功,周圍也沒有會的人
非常感謝