2017-11-15 6 views
0

私はmysqlのクエリを持っていると私はgigcount = 0が、私はエラー不明列にフィルタリングすべての項目を取得する方法はあり

SELECT 
tbl_musicvenue.id AS id, 

(SELECT 

    COUNT(1)AS A1 
    FROM 
     smliveclaims AS Extent5 
    WHERE 
     Extent5.tbl_MusicVenueId = tbl_musicvenue.id and (Extent5.IsDeleted =0 or Extent5.IsDeleted is null)) AS gigcount 

FROM 

tbl_musicvenue 

を取得する。ここで、iは、where句、すなわちを使用する場合gigcountに基づいてフィルタリングするサブクエリの結果に基づいて、 gigcountが0

答えて

0

ここであなたは、テーブルの既知の列(複数可)のために使用することができます句、(s)は関与Iでgigcountを使用するには、あなたの質問のための

SELECT 
a.id, 
COUNT(b.tbl_MusicVenueId) gigcount 
FROM 
tbl_musicvenue a 
LEFT JOIN smliveclaims b ON a.id = b.tbl_MusicVenueId AND (b.IsDeleted =0 OR b.IsDeleted IS NULL) 
GROUP BY a.id 
HAVING gigcount = 0 

としてクエリを書き直すことができますnクエリ。あなたのケースでは、gigcountはエイリアスであらかじめ定義された列ではないので、where節でこれにアクセスすることはできません。そのような列をフィルタリングするには

+0

ありがとうございましたkhalidもう1つの質問どのようにIF条件でこの節を使用しますか?If(pGigsAssociated = 0) –

+0

@MuhammadAliあなたの質問を更新できますか?あなたが新しい質問をすることができるかどうかに関係する部分 –

+0

brother私は、そのパラメータが 'gigs'と等しい場合、pGigsAssociatedである私のC#コードから来るパラメータを持っています。すべてのアイテムを取得したいと思いますか天気かどうかはわかりません。ありがとう –

関連する問題