【发布时间】:2015-03-24 07:10:04
【问题描述】:
如果有两个表,我需要订单 ID 中的客户姓名。
客户:
ID Name
1 Jamal Wang
2 Omar Jan
订单:
╔═══════╦══════════╦═══════╗
║ ID ║ CUSTOMER ║ VALUE ║
╠═══════╬══════════╬═══════╣
║ 34656 ║ 1 ║ 20 ║
║ 37345 ║ 2 ║ 25 ║
║ 38220 ║ 1 ║ 15 ║
║ 39496 ║ 1 ║ 38 ║
║ 41752 ║ 1 ║ 9 ║
║ 43734 ║ 2 ║ 20 ║
当我从“订单”中获得客户 ID 时,我想获取客户名称
SELECT Name FROM `Customer`
INNER JOIN `Order`
ON Customer.id = Order.customer.
WHERE Customer.id=1
但它返回同一个客户 4 次,因为我有 4 个订单。 我怎样才能使它不返回基于“订单”的客户,而是基于“客户”。 我需要订单 ID 中的客户姓名。 请帮忙。
【问题讨论】:
-
只有两次?这应该会返回 4 次。
-
当您有客户 ID 并且需要客户姓名时,为什么要使用“订单”加入。您不需要订单表中的任何内容。
-
你应该修改过滤器:
SELECT * FROM Customer INNER JOIN Order ON Customer.ID= Order.CUSTOMER WHERE Order.ID=37345这给你一行 -
当然它给了 4 次,因为客户 #1 有 4 个订单。
-
如果你希望它只显示一次使用 { select distinct }