mysql加入限制1

Ano*_*ous 13 mysql sql

假设我有一对多关系的两个表.

并且,我想从每个主记录中选择列以及相关表中的第一个记录.

我尝试了一些方法,但它只是没有...

在这里,我最终得到了这个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)