我面临以下问题:
我有一张表格(new_form),其中列出了应回答公式的单位。有关这些单位的信息在另一个表(单位)中,包括它们所在的城市的代码(city_code)。我想在第一张表(new_form)中找到有关那里并位于特定城市的所有单位的信息(8383)。
SELECT * FROM `new_form`
WHERE `unit_number`=(
SELECT `unit_number`
FROM `units`
WHERE `city_code`=8383
)
现在,我收到此错误:
#1242 - Subconsulta retorna mais que 1 registro
最佳答案
使用IN
:
SELECT *
FROM `new_form`
WHERE `unit_number` in (
SELECT `unit_number`
FROM `units`
WHERE `city_code`=8383
)
或者,您可以使用
JOIN
:SELECT f.*
FROM `new_form` f
INNER JOIN `units` u on f.`unit_number` = u.`unit_number`
WHERE u.`city_code`=8383