「ピーターズ」または「クロウズ」アベニューのみに居住するすべての顧客の名前と姓、住所、生年月日を表示する必要があります。
これは問題ありません。次のようにしました。
SELECT Customers.FirstName, Customers.Surname,
Customers.CustomerAddress, Customers.DOB
FROM Customers
WHERE
( Customers.CustomerAddress LIKE '%'+ 'Peters' + '%'
or Customers.CustomerAddress LIKE '%'+ 'Crows'+ '%')
しかし、それからもう少し詳しく読んだところ、次のように書かれていました。
UNION クエリを使用して結果を生成します。
だから私はUNION
s について少し調べましたが、ほとんどの場合、両方のSELECTクエリから返される値は同じ長さでなければならず、通常、例では 2 つの異なるテーブルを使用していますか?
そのため、住所にPetersとCrowsUNION
という単語が含まれるすべての顧客が表示されるように、同じテーブルでa を実行する必要があります。私は試した:
SELECT Customers.CustomerAddress
FROM Customers
WHERE
( Customers.CustomerAddress LIKE '%'+ 'Peters' + '%'
or Customers.CustomerAddress LIKE '%'+ 'Crows'+ '%')
UNION
SELECT Customers.FirstName, Customers.Surname,
Customers.CustomerAddress, Customers.DOB
FROM Customers
しかし、私はエラーが発生します:
UNION、INTERSECT、または EXCEPT 演算子を使用して結合されたすべてのクエリでは、ターゲット リストに同じ数の式が含まれている必要があります。
最初のSELECTは 3 つの結果 (つまり、探している結果) のみを返し、もう 1 つはアドレス指定されたすべて (必要なものを含む) を返すため、これは理解できます。
したがって、私の正確な問題は、住所にPetersとCrowsUNION
という単語が含まれるすべての顧客が表示されるように、同じテーブル (Customers 合計 10 レコード) でa を実行するにはどうすればよいですか? (3 件のレコードが条件に一致し、他の 7 件は一致しません)