[SQL ] 兩個TABLE JOIN 有兩個CASE用不同條件

看板Database作者 (彈彈的哀傷)時間13年前 (2012/12/19 13:47), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
問題是這樣的 我有兩個TABLE 要把他做JOIN 一個語法如下 SELECT A.AC,F1,F2,F3 FROM (SELECT * FROM TABLEA) A JOIN (SELECT * FROM TABLEB WHERE LENGTH(AC)=4) B ON SUBSTR(A.AC,1,4)=SUBSTR(B.AC,1,4) 另一個則如下 SELECT C.AC,F1,F2,F3 FROM (SELECT * FROM TABLEA )C JOIN (SELECT * FROM TABLEB WHERE LENGTH(AC)=5) D ON SUBSTR(C.AC,1,5)=SUBSTR(D.AC,1,5) AND C.FLAG = D.FLAG 這兩個我想放在一起,我只知道用UNION,直接上面加下面 可是這樣SQL看起來又臭又長的很難看 想請問一下,有沒有比較好的做法來處理這個東西呢? (可以在JOIN後面的ON XXX=YYY那裡加上IF或CASE WHEN嗎?) 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.163.30.37
文章代碼(AID): #1GqLJRf4 (Database)