如何从id相关的两个表中获取单个记录 [英] How to get a single record from two tables related by id

查看:70
本文介绍了如何从id相关的两个表中获取单个记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

select JobAds.AdID, JobAds.Title, JobAds.Description, JobAds.Date, AdPhotos.PhotoName,
State.StateName, City.CityName, SubCategory.Name, JobAds.Date
from State,City,SellerDetails,JobAds, AdPhotos ,SubCategory
where State.StateID = SellerDetails.StateID
and City.CityID = SellerDetails.CityID
and JobAds.SellerID = SellerDetails.SellerID
and JobAds.AdID = AdPhotos.AdID
and JobAds.SubCategoryID = SubCategory.SubCategoryID
order by JobAds.Date desc




上述查询中的
,在AdP中照片表,我有专栏 -

AdID PhotoName

1 photo1.jpg

1 photo2.jpg

1 photo3.jpg

2 photo4.jpg

正如您所看到的AdID 1我有3张照片,但我只想在上面的查询中使用上面的AdID的第一张照片。



请帮我解决问题,否则我将失去工作



in above query,in AdPhotos table, i have columns--
AdID PhotoName
1 photo1.jpg
1 photo2.jpg
1 photo3.jpg
2 photo4.jpg
As you can see for AdID 1 i have 3 photos but i want only the first photo for an AdID using above in above query.

Please help me out quckly,otherwise i'll lose my job

推荐答案

你可以使用按ID分组,然后取每组中的第一项。检查以下答案

所以q1

[ ^ ]

so q2 [ ^ ]
You can use group by id and then take the first item in each group. Check below answers
so q1
[^]
so q2[^]


在order by子句之前添加:

Add this before the order by clause:
and AdPhotos.PhotoName in
(select top 1 PhotoName from AdPhotos where AdID = JobAds.AdID)



希望这有助于保住工作。祝你好运。


Hope that helps keep your job. Good luck.


你可以使用子查询



u can use sub query

(select top 1 PhotoName from AdPhoto Where AddId=JobAds.AdID) as PhotoName





你可以放置这个查询地点的AdPhotos.PhotoName



gud luck



you can place this query place of AdPhotos.PhotoName

gud luck


这篇关于如何从id相关的两个表中获取单个记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆