【发布时间】:2015-02-10 04:46:36
【问题描述】:
我有一个结果列表,可能只显示少数几个州,但我需要每次都显示完整的州列表。
结果如下所示:
AK 1
AL 5
CA 3
...
WV 4
WY 6
UN 10
但应该返回为:
AK 1
AL 5
AR 0
AZ 0
CA 3
CO 0
CT 0
...
WV 4
WY 6
UN 10
是否只是对状态列表进行内部连接以确保始终存在计数为零的状态?我没有状态表,但我有一个状态列表,例如“AK”、“AL”、“AR”等。我不确定是否可以这样加入。查询太大,无法发布,但如果需要,我会看看是否可以提出一些建议。
【问题讨论】:
-
您有正在使用的查询吗?
-
使用子查询而不是连接(在子查询中使用计数)
-
mysql 更好地优化连接;必须小心使用子查询,并确定 mysql 将如何处理它们。但是内部连接在这里无济于事;使用下面答案中建议的 LEFT JOIN。
-
如果我有一个状态表,那么连接会很容易,但是对于像 "AK","AL","AR" 等这样的列表呢?
标签: mysql sql join inner-join union