我遇到以下问题: 我有一个表(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
答案 0 :(得分:1)
使用 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