用于从两个相关表获取数据的sql查询
我有两张桌子,员工和存货。一名员工可以拥有零个或多个库存。 我想列出员工信息以及最多一个库存信息 存货盘点属于一名员工 员工表 库存表 期望输出 在这种情况下,我可以使用什么sql查询?试试这个:用于从两个相关表获取数据的sql查询,sql,database,n-tier-architecture,Sql,Database,N Tier Architecture,我有两张桌子,员工和存货。一名员工可以拥有零个或多个库存。 我想列出员工信息以及最多一个库存信息 存货盘点属于一名员工 员工表 库存表 期望输出 在这种情况下,我可以使用什么sql查询?试试这个: SELECT emp_num, last_name, MAX(inv_num) AS invnum, COUNT(inv_num) AS inv_count FROM employee e LEFT OUTER JOIN inventory i ON e.emp_num = i.emp_num GRO
SELECT emp_num, last_name, MAX(inv_num) AS invnum, COUNT(inv_num) AS inv_count
FROM employee e LEFT OUTER JOIN inventory i ON e.emp_num = i.emp_num
GROUP BY e.emp_num, e.last_name
你可以这样做
Select E.Emp_Num,
e.Last_name,
MIN(Inv_Num) AS OldestInv,
COUNT(Inv_Num) AS TotalInv
FROM Employee E
LEFT OUTER JOIN Inventory I
(E.Emp_Num = I.Emp_Num)
GROUP BY E.Emp_Num, E.Last_Name
这将为您提供最低发票号和总数量。左外连接是关键
SELECT
e.emp_num,
e.last_name,
IFNULL(MAX(i.inv_num),'-') AS 'invnum',
COUNT(i.inv_num) AS 'count(inv_num)'
FROM
employee e LEFT JOIN inventory i
ON e.emp_num = i.emp_num
GROUP BY
e.emp_num, e.last_name
SELECT emp_num, last_name, MAX(inv_num) AS invnum, COUNT(inv_num) AS inv_count
FROM employee e LEFT OUTER JOIN inventory i ON e.emp_num = i.emp_num
GROUP BY e.emp_num, e.last_name
Select E.Emp_Num,
e.Last_name,
MIN(Inv_Num) AS OldestInv,
COUNT(Inv_Num) AS TotalInv
FROM Employee E
LEFT OUTER JOIN Inventory I
(E.Emp_Num = I.Emp_Num)
GROUP BY E.Emp_Num, E.Last_Name
SELECT
e.emp_num,
e.last_name,
IFNULL(MAX(i.inv_num),'-') AS 'invnum',
COUNT(i.inv_num) AS 'count(inv_num)'
FROM
employee e LEFT JOIN inventory i
ON e.emp_num = i.emp_num
GROUP BY
e.emp_num, e.last_name