0
我想在sqlite上定義一個動態別名(以便獲得最通用的SQL查詢)。SQLite動態別名
我有兩個表T1 & T2
T1結構:
id|url|type
T2結構:
id|us|es|fr|de|nl
我的請求如下:
SELECT t1.*,us as name FROM t1 INNER JOIN t2 ON (t1.id = t2.id) ORDER BY t1.id ASC;
W¯¯我想要做的帽子是有一個別名(例如:名稱),它給了我正確的t2.us與id匹配的值,除非類型id爲1.
例如,我在每個表中有兩個條目:
id|url|type
1|http://www.google.com/|0
2|file:///tmp/file.txt|1
和T2的:
id|us|es|fr|de|nl
1|love|amar|amour|die liebe|liefde
2|sugar|azucar|sucre|zucker|suiker
我想有這樣的事情:
id|url|type|name
1|http://www.google.com/|0|love
2|file:///tmp/file/txt|1|file:///tmp/file/txt
在典型的情況下, e是0,在t2表中做一個研究。 在類型爲1的情況下,只需將「url」字段作爲名稱。
不知道是否清楚,以及SQLite是否可行。 我想避免以編程方式執行此操作(使用C語言)。
感謝
這就是它!非常感謝。 :) – Lazao 2015-02-23 11:39:30
我忘了問我是否可以做一個有條件的JOIN。在類型= 1的情況下,我想避免執行JOIN?因爲如果t2表中的id爲1的條目中只有1條,sql請求將只顯示1條目,因爲如果id = 2,連接將失敗(t1.id = t2.id)。 – Lazao 2015-02-23 13:35:35
@Lazao不確定我理解,但嘗試將'INNER JOIN'改爲'LEFT JOIN' – jpw 2015-02-23 14:03:57