2015-11-02 88 views
0

我有一個字符串引用了一個jpg文件,我們假設'34563.jpg'。 現在我想知道這個文件是否分配給這3個表中的任何記錄。將字符串與多個表中的同一列進行比較mysql

所有3代表具有相同的結構

id,name,img 

我的查詢只返回true的第一個表:

SELECT clients_tbl.img, pets_tbl.img, places_tbl.img 
FROM clients_tbl, pets_tbl, places_tbl 
WHERE (clients_tbl.img = '34563.jpg') 
OR (pets_tbl.img = '34563.jpg') 
OR (places_tbl.img = '34563.jpg'); 

我需要從該查詢一個布爾響應,已發現或不。

感謝

回答

0

您需要UNION

SELECT COUNT(t.*) when_not_found_0 
FROM (
    SELECT img 
    FROM clients_tbl 
    WHERE clients_tbl.img = '34563.jpg' 
    UNION 
    SELECT img 
    FROM pets_tbl 
    WHERE pets_tbl.img = '34563.jpg' 
    UNION 
    SELECT img 
    FROM places_tbl 
    WHERE places_tbl.img = '34563.jpg' 
) t 
+0

'UNION'很棒 – quakeglen

0

您可以設置別名:

SELECT clients_tbl.img as img_clients, pets_tbl.img as img_pets, places_tbl.img as img_places 

後來打開結果布爾值。

相關問題