SELECT `id`
FROM (`videos`)
WHERE `name` LIKE '%Dragon Ball Z (U.S.)%'
和第二
SELECT `vid_id` as id
FROM (`other_names`)
WHERE `name` LIKE '%Dragon Ball Z (U.S.)%'
GROUP BY `vid_id`
我想要得到的是由LIKE
唯一ID列表。
SELECT `id`
FROM (`videos`)
WHERE `name` LIKE '%Dragon Ball Z (U.S.)%'
和第二
SELECT `vid_id` as id
FROM (`other_names`)
WHERE `name` LIKE '%Dragon Ball Z (U.S.)%'
GROUP BY `vid_id`
我想要得到的是由LIKE
唯一ID列表。
用'UNION'替換'and second'。 :)
SELECT `id`
FROM (`videos`)
WHERE `name` LIKE '%Dragon Ball Z (U.S.)%'
UNION
SELECT `vid_id` as id
FROM (`other_names`)
WHERE `name` LIKE '%Dragon Ball Z (U.S.)%'
UNION
(相對於UNION ALL
)已經只返回獨特的物品,這樣你就不會需要GROUP BY
或SELECT DISTINCT
。如果您認爲它更清晰,您可以編寫UNION DISTINCT
,但可以省略它,因爲它是默認行爲UNION
。
@GelozTrol Union不會從查詢中刪除重複項,以便查詢1返回重複項,而查詢2不同,並且如果將兩者結合,則將刪除重疊的任何查詢1和查詢2,但查詢1中的重複項將保留。糾正我,如果我錯了。我認爲這就是UNION DISTINCT vs UNION的原因 – Churk 2012-02-27 16:37:01
@Churk你有沒有試過?正如我所描述的,「UNION」和「UNION DISTINCT」沒有區別。只有當你不想刪除重複時,你需要使用'UNION ALL',但@aTei明確要求唯一的ID。看看這裏:http://dev.mysql.com/doc/refman/5.0/en/union.html – GolezTrol 2012-02-27 16:40:03
我想我錯了,謝謝參考。 – Churk 2012-02-27 16:43:18
兩張表的定義?他們是否與外鍵有關? – vulkanino 2012-02-27 16:28:00