1

このクエリがあります。rena テーブルからすべてのデータを選択し、gallery テーブルから行をカウントしてから、Files>0 の rena テーブルからレコードを収集します。しかし、クエリが機能しません。何が問題で、どのように修正すればよいかわかりません。

SELECT  fol.*,
    (SELECT  COUNT(*) FROM gallery fil 
      WHERE fil.ren_id = fol.id) AS "Files"
FROM rena fol where Files>0
4

2 に答える 2

0

MySQLでどのように機能するかはわかりませんが、Oracleでは次のようにします

SELECT fol.*, (SELECT count(*) FROM gallery fil 
                WHERE fil.ren_id = fol.id) AS "Files"
 WHERE EXISTS (SELECT 1 FROM gallery fil 
                WHERE fil.ren_id = fol.id);

データベースが fil.ren_id = fol.id に一致する行を見つけたらすぐに > 0 に一致するファイルが少なくとも 1 つだけ必要なので、正しい結果が得られるはずです。

于 2013-10-29T08:49:11.527 に答える
0

これを試して。ネストされたクエリの数を数えてから、レナと結合します

SELECT fol.*,cnt FROM rena fol join 
(
select ren_id,count(*) cnt from gallery fil group by ren_id
    ) as aaa
on fol.id=aaa.ren_id
于 2013-10-29T09:31:32.420 に答える