求SQL语句:取每一组的ID 最小的记录
有两个 table:
(1)Customer
CUST_ID | CUST_NAME
-------------------------------------
IBM | IBM Corp.
MS | Microsoft
(2)Product
CUST_ID | PRODUCT_ID | PRODUCT_NAME
-------------------------------------
IBM | I1000 | SERVER
IBM | I1001 | DATABASE
MS | M2222 | OFFICE
MS | M2223 | WINDOWS
现在我想要这两个表关联,每一家公司只取 PRODUCT_ID 最小的那一笔资料,即结果集为:
CUST_ID | CUST_NAME | PRODUCT_ID | PRODUCT_NAME
-----------------------------------------------
IBM | IBM Corp. | I1000 | SERVER
MS | Microsoft | M2222 | OFFICE
我知道可以用子查询来实现:
select ...
from Customer cust,
(select cust_id, min(product_id) from Product group by cust_id) prod
where cust.cust_id = prod.cust_id
但我不能这样做,因为还要串到其他表,要做很复杂的连接。
所以想请教各位大侠,是否有其他更便捷的方式??