【发布时间】:2012-07-09 19:20:09
【问题描述】:
我有以下查询来提取属性。属性有多个单位。我不知道如何使用至少 1 个单位提取属性。单元通过具有相同的“团队”连接到属性。 “团队”是一个 varchar(例如“jkdgsl”)。有什么建议么?
SELECT DISTINCT Properties.id, Properties.title, Properties.team
FROM Properties
INNER JOIN Units ON Units.team = Properties.team
AND Units.rates != '0'
AND Properties.deleted = '0000-00-00 00:00:00'
AND Properties.zip_code
IN (
'77808', '77845'
)
AND Properties.public = '1'
ORDER BY FIELD( Properties.zip_code, '77808', '77845' )
LIMIT 0 , 30
【问题讨论】:
-
在我看来,您的查询已经有效并提取了您需要的属性,因为在
properties和units之间的INNER JOIN基本上会排除所有没有相应行的属性units,从而提取至少 1 个单位的属性。但是,如果您只想提取具有 2 个或更多单位的属性,那就另当别论了,您可能需要在子选择中使用GROUP BY和HAVING。
标签: mysql sql count inner-join