我有一个相当简单的查询:
我有三个表,我想返回每个表使用的行数(具有外键)。
这是我的第一次尝试:
SELECT
COUNT(at.code) AS atcount,
COUNT(de.code) AS decount,
COUNT(ch.code) AS chcount
FROM
table_at at,
table_ch ch,
table_de de
WHERE
at.teilnehmerid != 0
AND
de.teilnehmerid != 0
AND
ch.teilnehmerid != 0
但这不知何故不起作用,它不会产生任何错误,但只是不考虑条件。我还考虑过子查询,例如:
SELECT
(SELECT COUNT(code) FROM table_at at WHERE at.teilnehmerid != 0),
(SELECT COUNT(code) FROM table_de de WHERE de.teilnehmerid != 0),
(SELECT COUNT(code) FROM table_ch ch WHERE ch.teilnehmerid != 0)
但是我对这种尝试相当愚蠢的事情感到困惑……那FROM
呢?当然我得到一个错误:Operand should contain 1 column(s)
- 但我只想要计数......
我还阅读了有关 Joins 的信息,但不明白如何在我的主要语句中获取COUNT
via a 。JOIN
SELECT
是的,我在这里阅读了其他一些问题,但没有看到适用于这两个问题的答案:
- 选择多个表
和
COUNT
在多张桌子上做
如果我错了,只是没有得到正确的答案,也许更好的解释会有所帮助。