我有一个引用 jpg 文件的字符串,比方说“34563.jpg”。 现在我想知道这个文件是否分配给这 3 个表中的任何记录。
所有 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');
我需要此查询的 bool 值响应,无论是否已找到。
谢谢
最佳答案
您需要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
关于mysql - 将字符串与多个表mysql中的同一列进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33486802/