2017-05-13 22 views
0

に存在する...MySQLのクエリは、私は2つのMySQLテーブルを持つ別のテーブル

1. master_fee 
2. fees_receiving_ledger 

私は、彼らがfees_receiving_ledgerテーブルに存在している場合FeeIdmaster_feeテーブルからFeeFrequencyId : 4を含む表示したくありません。私はそれがfees_receiving_ledgerに存在するようFrequencyId : 4を含む入場料(FeeId:1)を表示したくない、上記のように

table description

私は私に空白の結果を与える

Select 
    master_fee.* 
From 
    master_fee 
Where Not Exists(Select 
    fees_receiving_ledger.FeeId 
From 
    fees_receiving_ledger 
Where 
    fees_receiving_ledger.FrequencyId = '4') 

...以下のように私のクエリを試してみました。

私はThisを試しましたが失敗しました。

クエリとは何ですか?

データベースでVB.NETを使用しています。

答えて

1

サブ選択で結合条件を忘れてしまった。

select m.* from master_fee m 
where not exists (
    select 1 from 
     fees_receiving_ledger f 
     where f.frequencyID = 4 
     and m.feeid=f.feeid) 

また、行うことができます:あなたの速い答えを

select m.* from master_fee m left join fees_receiving_ledger f 
on f.feeid = m.feeID 
where f.frequencyID <> 4; 
+0

おかげLSAを。 ** 1 **の中の** 1 **を教えてください。 – Raj

+0

これは単に '42'や 'test'や 'x'のようなものに置き換えるだけのプレースホルダーです。ここに 'f.FeeId'を置くことができますが、効率が悪いです。 – LSA

+0

あなたの答えをありがとう。 – Raj

関連する問題