• ベストアンサー

クエリ教えてください。

SQLSERVER2005 現在開発の中でデータの抽出について悩んでいます。 どなたかご教授お願いします。 <TBLa> コード A   B 001   2008  12 (1) 001   2009  01 001   2009  02 <TBLb> コード 年   月 001   2009  01 001   2009  02 抽出したいのは(1)のデータ。 <TBLa>のコード、A、Bが<TBLb>コード、年、月にHITしないデータです。 クエリで抽出する方法をお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.1

何通りも書けそうですが。。 SELECT * FROM TBLa a WHERE NOT EXISTS (SELECT NULL FROM TBLb WHERE コード=a.コード AND 年=a.A AND 月=a.B) SELECT * FROM TBLa a WHERE CONVERT(varchar,コード)+'*'+CONVERT(varchar,A)+'*'+CONVERT(varchar,B) NOT IN (SELECT CONVERT(varchar,コード)+'*'+CONVERT(varchar,年)+'*'+CONVERT(varchar,月) FROM TBLb) SELECT a.* FROM TBLa a INNER JOIN (SELECT * FROM TBLa EXCEPT SELECT * FROM TBLb) b ON a.コード=b.コード AND a.A=b.A AND a.B=b.B

noname#208236
質問者

お礼

サブクエリが苦手でいつも苦戦してしまいます。 ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A