-------------------------
| ID | LINK | NOM |
-------------------------
| 05 | 00 | BOB |
| 07 | 05 | SAM |
| 08 | 05 | TIM |
| 10 | 08 | ALF |
| 13 | 05 | DOC |
| 25 | 08 | JIM |
| 26 | 07 | IAN |
| 28 | 25 | LOU |
-------------------------
我希望编写一个 SELECT 语句,根据上表返回类似于下面的结果集。
例如,一个(尚未完成的)查询:
SELECT ID, NOM FROM ABOVE_TABLE WHERE NOM='ALF'
将返回值:
10, ALF
08, TIM
05, BOB
而查询:
SELECT ID, NOM FROM ABOVE_TABLE WHERE NOM='LOU'
将返回值。
28, LOU
25, JIM
08, TIM
05, BOB
和:
SELECT ID, NOM FROM ABOVE_TABLE WHERE NOM='JIM'
将返回值。
25, JIM
08, TIM
05, BOB
最后:
SELECT ID, NOM FROM ABOVE_TABLE WHERE NOM='IAN'
将返回值。
26, IAN
07, SAM
05, BOB
<小时/>
这样的 SELECT 语句可能吗?它会采用什么形式?
最佳答案
To work this query it should be ID greater than LINK. SO here get table
as ID descending order.
select t.ID as ID, @pv:=t.LINK as LINK
from (select ID,LINK from [ABOVE_TABLE] order by ID desc) t
join
(select @pv:=(select ID from [ABOVE_TABLE] WHERE NOM='ALF'))tmp
where t.ID=@pv;
关于mysql - Select 语句返回单个表的内部链接行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40199064/