私はかなり単純なクエリを念頭に置いています:
3 つのテーブルがあり、各テーブルで使用されている (外部キーを持つ) 行の数を返したいと考えています。
これは私の最初の試みでした:
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を取得する方法がわかりませんでした。JOIN
SELECT
そして、ええ、私はここでいくつかの他の質問を読みましたが、両方の問題に当てはまる答えは見当たりませんでした:
- 複数のテーブルの選択
と
- 複数
COUNT
のテーブルで
私が間違っていて、正しい答えが得られなかった場合は、より良い説明が役立つかもしれません。