库中存在两个表类型表tbl_Type_info,结构为:typeID,TypeName产品信息表:tbl_product_info,结构为:
productID,typeID,productName,现在想根据不同类别取出首条记录(最近插入的记录)
如tbl_product_info存在如下数据:1 1 类别1产品1
2 1 类别1产品2
3 2 类别2产品1
4 2 类别2产品2想得到如下形式:2 1 类别1产品2
4 2 类别2产品2请问SQL如何写?谢谢!
productID,typeID,productName,现在想根据不同类别取出首条记录(最近插入的记录)
如tbl_product_info存在如下数据:1 1 类别1产品1
2 1 类别1产品2
3 2 类别2产品1
4 2 类别2产品2想得到如下形式:2 1 类别1产品2
4 2 类别2产品2请问SQL如何写?谢谢!
from tbl_product_info a,
(select top 1 productID
from tbl_product_info
group by typeID ) b
where a.productID = b.productID
from
tbl_product_info T
where
productID=(select max(productID) from tbl_product_info where typeID=T.typeID)
我个人觉得应是:select * from tbl_type_info a left join
tbl_product_info b on a.typeID = b.TypeID
group By a.TypeID就是一定要有个左联才显示得出来吧。
前几位都是正解
如果你要显示出TYPE 的NAME 只要现在楼上几位的语句中加LEFT JOIN 就可以了
引用(scmail81(琳·风の狼(修罗)) )
select *
from
tbl_product_info T
left join
tbl_Type_info b on T.typeID = b.TypeIDwhere
productID=(select max(productID) from tbl_product_info where typeID=T.typeID)
from
tbl_product_info T
left join
tbl_Type_info b on T.typeID = b.TypeIDwhere
productID=(select max(productID) from tbl_product_info where typeID=T.typeID)
from tbl_product_info
where productID in (select max(productID) from tbl_product_info group by typeID)