使用多个条件从单个列获取多个行值

evrscar2  于 2021-06-19  发布在  Mysql
关注(0)|答案(2)|浏览(351)
id   unique_id    name     franchise_id
1    MR1000       aaa      0
2    FR1001       bbb      0
3    GE1003       ccc      0
4    GE1004       ddd      0
5    CL1005       eee      2

这是我的表,我想从表中取出记录
从find\u id 2 search with id获取第5条记录,并获取唯一的id值
我需要这样的结果:

franchise_id     uniqueid     name
FR1001           CL1005       eee
5vf7fwbs

5vf7fwbs1#

您可以使用自联接和别名来实现这一点,以便覆盖真实列的名称。

select a.unique_id as franchise_id, b.unique_id, b.name
from test as a
left join test as b
on b.franchise_id = a.id
where b.unique_id = 'CL1005'

这个 as franchise_id 覆盖真实列名并将其作为新列名返回。
这个 left join test as b on b.franchise_id = a.idfranchise_id 匹配 id .
http://sqlfiddle.com/#!2011年9月fb576f
全部 b 如果 a 列没有引用。你可以改变主意 join 从a键入 left 加入 inner join 如果你想要匹配的话。
http://sqlfiddle.com/#!9/1爸爸/2

g0czyy6m

g0czyy6m2#

我只想做:

select t.*
from t
where t.id = (select t2.franchise_id
              from t t2
              order by id
              limit 4, 1
             );

相关问题