使用WHERE子句返回多个条目

时间:2011-09-28 20:08:48

标签: mysql

我遇到以下问题: 我有一个表(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

1 个答案:

答案 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