假设我有一对多关系的两个表.
并且,我想从每个主记录中选择列以及相关表中的第一个记录.
我尝试了一些方法,但它只是没有...
在这里,我最终得到了这个SQL小提琴:
http://sqlfiddle.com/#!2/39fdb/3
问题在于它无法从子选择中引用a.ID.
当然,这不起作用,但这只是我能想到的
select a.*,b.* from event a left join
(select * from event_pictures where a.ID=article limit 1)
b on a.ID=b.article;
Run Code Online (Sandbox Code Playgroud)
关于如何修复它的任何想法?
ype*_*eᵀᴹ 20
不,您无法a.ID
在加入的子选择中引用a
.您可以执行以下操作,但最好提供订购.否则,没有"第一"行.将选择表b中的(或多或少)随机行:
select a.*, b.*
from event a
left join event_pictures b
on b.PK = --- the PRIMARY KEY
( select bb.PK --- of event_pictures
from event_pictures bb
where a.ID = bb.article
ORDER BY bb.something
limit 1
) ;
Run Code Online (Sandbox Code Playgroud)