如何根据确定的值连接 sql 中的两个表?
How to join two tables in sql according to a determined value?
我有以下表格,我要获取客户Meier的所有订单。
Table Customer
列 cid 和名称:
cid name
-------------------------
13 M. Mueller
17 A. Meier
23 I. Schulze
Table Orders
包含 Oid、Did、Date 和 Cid 列:
Oid Did Date Cid
--------------------------------------
3 7 2002-12-01 17
5 11 2003-04-27 23
7 5 2003-05-13 17
10 5 2003-09-01 13
我试过的是:
SELECT Oid.Orders, Did.Orders, Date.Orders, Cid.Orders,
FROM Orders
INNER JOIN Customer ON Cid.Orders = cid.Customer
WHERE name.Customer = "A. Meier"
但是有一个我找不到的语法错误。在这种情况下我应该如何处理?
enter image description here
其中 customer.name ...
应该做的伎俩。
您在使用 field.table 而不是 table.field
的查询中有几个类似的错误
最好的方法是使用别名。所以您的 select 语句应该如下所示(我将使用别名 o 表示订单,c 表示客户):
SELECT * from Orders o inner join Customer c on c.cid=o.Cid where c.name='A.
Meier'
如果您想在没有别名的情况下解决问题(我不喜欢),您应该这样做:
SELECT Orders.Oid, Orders.Did, Orders.Date, Orders.Cid,
FROM Orders
inner JOIN Customer ON Orders.Cid = Customer.cid
where Customer.name = 'A. Meier'
所以 table 名称在 table 属性之前。并注意引号... " 和 ' 具有不同的含义...它也会导致错误。
请阅读此 post What is the difference between single and double quotes in SQL?
我有以下表格,我要获取客户Meier的所有订单。
Table Customer
列 cid 和名称:
cid name
-------------------------
13 M. Mueller
17 A. Meier
23 I. Schulze
Table Orders
包含 Oid、Did、Date 和 Cid 列:
Oid Did Date Cid
--------------------------------------
3 7 2002-12-01 17
5 11 2003-04-27 23
7 5 2003-05-13 17
10 5 2003-09-01 13
我试过的是:
SELECT Oid.Orders, Did.Orders, Date.Orders, Cid.Orders,
FROM Orders
INNER JOIN Customer ON Cid.Orders = cid.Customer
WHERE name.Customer = "A. Meier"
但是有一个我找不到的语法错误。在这种情况下我应该如何处理?
enter image description here
其中 customer.name ... 应该做的伎俩。 您在使用 field.table 而不是 table.field
的查询中有几个类似的错误最好的方法是使用别名。所以您的 select 语句应该如下所示(我将使用别名 o 表示订单,c 表示客户):
SELECT * from Orders o inner join Customer c on c.cid=o.Cid where c.name='A.
Meier'
如果您想在没有别名的情况下解决问题(我不喜欢),您应该这样做:
SELECT Orders.Oid, Orders.Did, Orders.Date, Orders.Cid,
FROM Orders
inner JOIN Customer ON Orders.Cid = Customer.cid
where Customer.name = 'A. Meier'
所以 table 名称在 table 属性之前。并注意引号... " 和 ' 具有不同的含义...它也会导致错误。 请阅读此 post What is the difference between single and double quotes in SQL?