2016-12-07 13 views
0

戻り結果

データ:

Column1|Column2|Column3|ID 
1  | 2  |1  |67 
1  | 1  |1  |67 
2  | 2  |2  |67 
4  | 4  |1  |67 

はリターン:

Column1|Column2|Column3|ID 
1  | 1  |1  |67 
2  | 2  |2  |67 

PARAMATERS:その任意のデータを返す 有する:

1 in column1 AND 1 in column2 AND 1 in column3 
2 in column1 AND 2 in column2 AND 2 in column3 
3 in column1 AND 3 in column2 AND 3 in column3 

ありがとう!今私は複数のクエリを作成し、データをまとめてコンパイルしています。

HAVING (((dbo_INVOICE.INV_TOTAL)>0) AND ((dbo_ITEMSORD.INVOICE_ID)="002") AND 
     ((dbo_PACKAGE.INVOICE_ID)="002") AND ((dbo_INVOICE.INVOICE_ID)="002")); 

答えて

2

まず、あなたが実際にWHERE句でこれらの条件を望む可能性があるので、あなたのHAVING句で集計を比較していないあなたのコードを見ています。そうすれば括弧とAND/ORがあなたの友人になりますので、あなたの制約に優先順位をつけることができます。あなたが書くことができ、あなたが説明した場合のためにそう:

WHERE 
    (Column1 = 1 AND Column2 = 1 AND Column3 = 1) 
    OR (Column1 = 2 AND Column2 = 2 AND Column3 = 2) 
    OR (Column1 = 3 AND Column2 = 3 AND Column3 = 3) 

そして、あなたが実際にあなたはそれがあることを意味しているので、A = B AND B = CとAは1,2、または3であることをテストすることができます簡素化したい場合このような

WHERE 
    Column1 = Column2 AND Column2 = Column3 
    AND Column1 IN (1,2,3) 

そして、あなたの特定のSQL文を見て何かがありそうなあなたのために働くだろう:

WHERE 
    dbo_INVOICE.INV_TOTAL > 0 
    AND dbo_ITEMSORD.INVOICE_ID = dbo_PACKAGE.INVOICE_ID 
    AND dbo_PACKAGE.INVOICE_ID = dbo_INVOICE.INVOICE_ID 
    AND dbo_ITEMSORD.INVOICE_ID IN ("001","002","003") 

を= B = Cと、彼らは次のように行うことができた1と3の間にありますあなただけのすべてをしたい場合は注意してください等しい値になるようにし、値がちょうどINの条件を取り除いているかどうかは気にしないでください。

+0

私は WHERE dbo_INVOICE.INV_TOTAL> 0 をdbo_INVOICE.INVOICE_IDとdbo_ITEMSORD.INVOICE_ID = dbo_PACKAGE.INVOICE_ID AND dbo_PACKAGE.INVOICE_ID = dbo_INVOICE.INVOICE_ID 」クエリ式でエラー、「構文エラー(演算子がありません)を受け、 dbo_ITEMSORD.INVOICE_ID IN( "001"、 "002"、 "003") ' – Charles

+0

@Charlesクエリ全体を投稿する場合は、構文エラーを見つけることができるかどうかを見ていきますが、 – Matt

+0

私はそれを理解しました。私も仕事のいくつかを行うことを確かめてください。=)あなたの助けをありがとう! – Charles

関連する問題