您还没有向我们展示您的表格的架构;这比帮助你更难。
如果您正在寻求获取car1
column 或car2
column or ... 那么至少有两个问题:
- 你的桌子设计不正确。
- 您不能将列(或表)的名称构建为查询的一部分。
您应该将有关客户每辆汽车的信息与有关客户的信息放在单独的表中。因此,客户姓名为“Joe”的信息属于一个表;他驾驶兰博基尼的事实应该记录在单独的表格中。每个客户的汽车表中可能有多个记录。
您还需要加入这两个表;您的语法不正确的查询不会尝试这样做。
您有两个带有列的表:
您可能有,但没有显示,在Customers_Cars
. 事实上,您可能应该在每个表中都有一个“客户 ID”列。此外,该Customers_Cars
表应该只是:
- Customers_Cars : CustomerID、CarNum、CarInfo、MainVehicle
在此,我假设MainVehicle
是一个布尔标志,并且每个客户都有一个标记为 true 的条目。
然后您的 SELECT 语句变为:
SELECT U.*,
C.CarInfo
FROM Customers AS U
JOIN Customers_Cars AS C ON C.CustomerID = U.CustomerID
WHERE C.MainVehicle = TRUE
AND U.Customer = 'Joe'
AND U.Type = 'CoolCustomer';