2014-09-11 41 views
0

样本表customers.where'Id'具有主键约束。显示名称,客户的最高工资以及使用连接显示该员工的订单

样品的客户表

Id Sal  Name address 
1 40000 Name1 Hyd 
2 30000 Name2 Bangalore 
3 20000 Name3 Mumbai 
4 50000 Name4 Delhi 
5 25000 Name5 chennai 

来样订货表

client_id Product Quantity 
2   Jeans 1 
3   Shoes 2 
4   Watch 1 
5   Shirt 3 

现在我要选择“客户名称”谁拥有“MAX”工资和什么样的产品,他已下令即产品的详细信息“产品'和'数量'使用连接。

我的表看起来应该像

Name Sal  Product quantity 
Name4 50000 watch  1 

我有“身份证”在客户表的主键和“clent_id”在产品表的外键。

+0

您的订单表是否与客户表有链接? – jim31415 2014-09-11 12:26:54

+0

我有'id'在客户表中有主键,'clent_id'在产品表中有外键。 – 2014-09-12 13:27:51

回答

0

以下查询将从订单表中获取最高工资MAX(Sal)JOIN的任何关联行。

SELECT 
    c.Name, 
    c.Sal, 
    o.Product, 
    o.Quantity 
FROM Customers c 
    left join Orders o ON o.Client_Id = c.Id 
WHERE 
    c.Sal = (SELECT MAX(Sal) from Customers) 
ORDER BY 
    c.Name; 

请注意,如果多个客户有最高工资,他们将全部被列出。

+0

老兄感谢您的建议.....但表中显示为'产品'和'数量'的空值....我没有得到确切的输出... – 2014-09-11 19:48:16

+0

检查JOIN标准:o.Client_Id = c.Id.你可能不得不改变这一点。另外,如果薪水最高的客户没有任何订单,那些字段将为空。 – jim31415 2014-09-12 11:49:21

相关问题