0

SQL が変換された日付 (日付を作成するために結合する必要のある 3 つのフィールド) を Product テーブルから関連付けを解除したように見えるため、このクエリの何が問題なのかがわかります。私の質問は、どうすれば修正できますか?現在の日付が 3 つの個別の列を超えているかどうかを簡単に確認できないため、それらを 1 つの日付に結合する必要がありました。

select ProductID from ctbo.dbo.PRODUCT where (getdate() >
(Select
  Convert(DATE,CAST([expYear] AS VARCHAR(10))+'-'+
                    CAST([expMonth] AS VARCHAR(10))+'-'+
                    CAST([expDay] AS VARCHAR(10)))
                    from PRODUCT where expYear not like '0' and expDay not like '0' and expMonth not like '0') )
4

1 に答える 1

3

サブクエリは複数の値を返すため、ANYキーワード (サブクエリ結果のいずれかに適用される条件を作成するため) またはALL (すべての結果に適用されるため) のいずれかを使用する必要があります。

select ProductID from ctbo.dbo.PRODUCT where (getdate() >
ANY(Select
  Convert(DATE,CAST([expYear] AS VARCHAR(10))+'-'+
                    CAST([expMonth] AS VARCHAR(10))+'-'+
                    CAST([expDay] AS VARCHAR(10)))
                    from PRODUCT where expYear not like '0' and expDay not like '0' and expMonth not like '0') ) 
于 2013-08-19T21:58:52.740 に答える