[英]MySQL, selecting from a different row based on column value
我有下表
---------------------------
|ID |Image | link |
|01 | | 02 |
|02 |steve.jpg | |
|03 |eric.jpg | |
----------------------------
链接字段存储ID,因此我可以设置两行之间的关系。
ID 01的链接字段设置为02。因此,我希望ID 01使用该字段中设置了ID的图像,因此它将为steve.jpg。
如何获取所有行,以使带有链接字段的行以该图像结尾?
SELECT a.id, b.image, a.link
FROM YourTable AS a
JOIN YourTable AS b ON a.link = b.id
UNION
SELECT id, image, link
FROM YourTable
WHERE link IS NULL
像这样:
(SELECT ID, Image from mytable WHERE link = '' )
UNION ALL
(SELECT m1.ID as ID, m2.Image as Image
FROM mytable AS m1 INNER JOIN mytable AS m2 ON ( m1.link=m2.ID )
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.