以下是朋友曾經提出的問題:
資料表 b 裡面,有一個主鍵 id,內容是問題 2.兩者該如何作 Join?
id name
------------------------------
11111%01 A
11111%02 B
11111%03 C
22222%01 D
22222%02 E (id 規則是以 % 作為分隔成兩個數字
與另外一個資料表 Join,資料表 a 的主索引鍵是 11111 與 22222 ...
問題 1.如何將 b.id 這個欄位拆成兩個欄位
id1 id2 name
------------------------------
11111 %01 a
.....
解法以 MySQL 5為例
問題 1.Answer:
SELECT substring( b.id, 1, locate( '%', b.id ) -1 ) AS b1, substring( b.id, locate( '%', b.id ) ) AS b2, name AS b3 FROM b
問題 2.Answer:
SELECT *
FROM a, (SELECT substring( b.id, 1, locate( '%', b.id ) -1 ) AS b1, substring( b.id, locate( '%', b.id )) AS b2, name AS b3 FROM b ) AS bb
WHERE a.id = bb.b1
沒有留言:
張貼留言