我有一个疑问:
SELECT `Name`, `ID_dir`, 999 as `children`
FROM `dir` dir WHERE dir.`fid_parent` IS NULL
AND (
EXISTS (
SELECT 1
FROM `file` f
WHERE dir.ID_dir = f.fid_parent
)
OR (
SELECT 1
FROM `dir` d2
WHERE dir.ID_dir = d2.fid_parent
)
)
我检查目录是否有外键。
如何在“选择... 999 作为子项
”中移动该信息来代替 999?
我想在该位置返回(0 或 1)异或 bool 值作为 children
。
最佳答案
将 EXISTS
子查询放入 SELECT
列表中。
SELECT Name, ID_Dir, (
EXISTS (
SELECT 1
FROM `file` f
WHERE dir.ID_dir = f.fid_parent
)
OR (
SELECT 1
FROM `dir` d2
WHERE dir.ID_dir = d2.fid_parent
)
) AS children
FROM dir WHERE fid_parent IS NULL
关于mysql - 如何返回外键存在信息来选择结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59656988/