これまでのところ、副選択で動作するようになりましたが、一部の調査では、副選択を (特に大きなテーブルで) 使用するのはパフォーマンスが低いため悪いとのことでした。
今それは私が得たものです:
SELECT COUNT( riddims.riddim ) AS rc,
(
SELECT COUNT( tunes.tune )
FROM tunes
WHERE tunes.tune NOT
IN (
''
)
) AS tc
FROM riddims
WHERE riddims.riddim NOT
IN (
''
)
テーブルは次のようになります。
riddims:
riddim | genre | image
tunes:
riddim | artist | tune
「JOIN」をいじっていましたが、実際に機能するクエリを理解できませんでした。私が必要とするのは、上記のソリューションよりもパフォーマンスの高い方法でSTACKOVERFLOW COUNT FROM MULTIPLE TABLESに似たものです。
私の目標は、次の出力を示すクエリを実行することです。
riddims | tunes | artist
100 | 400 | 2
- WHERE リディム NOT IN ('')
- WHERE tunes NOT IN('')
- WHERE アーティスト = 'あるアーティスト'
これは私が始めた方法ですが、明らかに間違った方向に向かっています:
SELECT COUNT(riddims.riddim) AS rc, COUNT(tunes.tune) AS tc FROM riddims LEFT JOIN tunes ON riddims.riddim = tunes.riddim