求两表查询的SQL语句

来源:百度知道 编辑:UC知道 时间:2024/09/22 10:26:06
产品表:ID,产品名称,发布者,发布时间
用户表:ID,用户名称
说明:所有产品由用户表里的用户发布,产品表里的“发布者”字段为用户表的ID值,一个用户可以发布很多产品

现在要显示这样一张列表:
显示两张表的所有信息,以产品发布的最新时间排序,每个用户只显示其所发布的最新一条产品信息

急,在线等!
都试了,好像都不行啊,,急啊!!

SELECT 产品表.*,用户表.* FROM 产品表,用户表 WHERE 产品表.ID IN (SELECT MAX(产品表.ID) FROM 产品表,用户表 WHERE 产品表.发布者=用户表.ID) ORDER BY 发布时间 DESC

==========
补充:
SELECT MAX(发布时间) AS 发布时间,产品表.id,产品表.产品名称,用户表.id,用户表.用户名称 FROM 用户表,产品表 WHERE 用户表.id=产品表.发布者 GROUP BY 用户表.id ORDER BY 发布时间

产品表:ID,产品名称,发布者,发布时间
用户表:ID,用户名称

select A.ID,A.[产品名称],B.[用户名称],A.[发布时间]
from [产品表] A,[用户表] B
WHERE A.[发布者]=B.ID
GROUP BY A.ID,A.[产品名称],B.[用户名称],A.[发布时间]
ORDER BY A.[发布时间] DESC

select t1.*,t2.用户名称 from 产品表 t1,用户表 t2,(select 发布者,max(发布时间) 发布时间 from 产品表 group by 发布者) t3
where t1.发布者 =t3.发布者 and t1.发布时间=t3.发布时间 and t1.发布者=t2.ID ORDER BY t1.发布时间 DESC

我在sql2005下测试过,没问题啊

查询产品表过滤发布者,只保留一条最新发布的