SQL Server 2008加入并计数

时间:2013-10-16 01:35:12

标签: sql sql-server-2008 join

我对SQL比较陌生,我很难找到这个查询。我需要显示多个货车司机交付的货物(货运号码)。

以下是我认为我需要的表中唯一的两列(名为Package)以及我正在加入的整个其他表(卡车)。如您所见,shipment_no 1775是唯一一个由多个卡车/司机交付的货物。

包裹表= Shipment_No - 1770,1771,1772,1773,1774,1774,1774,1775,1775,1775,1776,1777  和Truck_no = 100,103,105,102,108,108,108,101,109,109,100,100(分别)

Truck table = Truck_NO 100,101,102,103,104,105,106,107,108,109 和drivername = JONES,DAVIS,GOMEZ,THOMPSON,HERSHEY,FERRIS,SHAVER,LEE,TOPI,ACKERMAN(分别)

这是我到目前为止所得到的

select shipment_no, drivername
from package, truck
where package.truck_no=truck.truck_no
group by shipment_no, drivername

我的结果看起来像这样

 - Shipment_no = 
1770
1771
1772
1773
1774
1775
1775
1776
1777
 - Drivername =
JONES
THOMPSON
FERRIS
GOMEZ
TOPI
ACKERMAN
DAVIS
JONES
JONES

我需要显示的是最后的送货号码,所以它看起来像这样。

-Shipment_no

-1775   

我已经尝试了几个小时,感谢任何帮助。

非常感谢!

2 个答案:

答案 0 :(得分:1)

试试这个:

SELECT Shipment_no
FROM package
GROUP BY Shipment_no
HAVING COUNT(DISTINCT Truck_no) > 1

答案 1 :(得分:1)

Select  shipment_no
From    Package
Group BY shipment_no
Having Count(Distinct Truck_No) > 1