我有兩個表:SQL:將兩個SQL查詢
T_CHAMBRE_CHB (CHB_NUM);
T_PLANNING_PLN (PLN_JOUR ,CHB_NUM, PLN_LIBRE);
我在裏面有這些值:
T_CHAMBRE_CHB:
1
2
3
4
T_PLANNIG_CHB:
1 2000-01-12 1 False
2 2000-01-12 2 False
3 2000-01-13 1 False
4 2000-01-13 2 False
5 2000-01-13 4 True
我想獲得房間occpation對信息的13維耶2000,如果一個房間是不是在說的意思是它是免費的規劃(此處爲3),所以結果應該是:
CHB_NUM PLN_LIBRE
----------- ---------
1 False
2 False
3 True
4 True
我有這個疑問:
SELECT DISTINCT TCC.CHB_NUM, TPP.PLN_LIBRE
FROM T_CHAMBRE_CHB AS TCC,
T_PLANNING_PLN AS TPP
WHERE TCC.CHB_NUM=TPP.CHB_NUM AND TPP.PLN_JOUR = '2000-01-13'
UNION
SELECT DISTINCT TCC.CHB_NUM, TPP.PLN_LIBRE
FROM T_CHAMBRE_CHB AS TCC,
T_PLANNING_PLN AS TPP
WHERE TCC.CHB_NUM NOT IN (SELECT DISTINCT (TPP2.CHB_NUM) FROM T_PLANNING_PLN AS TPP2);
我得到這樣的結果:
1 1 False
2 2 False
3 3 False
4 3 True
5 4 True
我不知道爲什麼我得到的第三行(3 ---->假)
我想我笑使用OUTER UNION但SQL Server不喜歡語法。
無需'選擇DISTINCT'當'UNION'時,因爲'UNION'會刪除重複的行。 (子查詢) – jarlh