我设置了我的结构,以便任何条目都可以包含对另一个条目的引用以填写缺失的详细信息。
ID, NAME, DESCRIPTION, REFERENCE
0, Stuff, Things, -1
1, , , 0
2, Things, Stuff, -1
我希望能够返回表的所有结果,如果一个条目需要引用另一个条目来完成数据,则用数据填充引用字段。我还想保留引用字段的原始 ID。我还希望不需要引用的字段保持不变。
SELECT `ID`, `REFERENCE` FROM `details` as `t`
IF `REFERENCE` != -1 THEN
SELECT *, `t`.`REFERENCE` as `ORIGINAL_ID` FROM `details` WHERE `ID` = `t`.`REFERENCE`
ELSE
SELECT * FROM `details` WHERE `ID` = `t`.`ID`
显然那是行不通的,但我只是想向你展示我认为我想要的东西。这可能吗?谢谢阅读。