我需要为谁住在“彼得”或“乌鸦”唯一途径所有客户显示姓名和地址和出生日期。
这很好,我做到了,像这样:
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个不同的表?
所以,我需要执行UNION
与他们的地址的话彼得斯和乌鸦显示在同一个表这样所有的客户。 我试过了:
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合并,交叉或EXCEPT运算符必须在其目标列表中的相同数目的表达式。
这是可以理解的,因为我的第一只选择返回3个结果(即结果我正在寻找),而其他的回报所有编址(包括我需要的)。
所以我确切的问题是,我该怎么做我执行UNION
在同一个表(客户总数的10条记录),这样所有的客户的话彼得斯和乌鸦他们的地址显示? (的记录3匹配条件的其它7不要)