我面临以下问题:
我有一张表格(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

10-07 19:12
查看更多