【问题标题】:How return foregin key existence information to select result?如何返回外键存在信息来选择结果?
【发布时间】:2020-01-09 03:51:21
【问题描述】:

我有一个问题:

    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
       )
    )

我在哪里检查目录是否有任何外键。 如何在“Select ... 999 as children”中移动该信息代替 999? 我想在那个地方返回 (0 或 1) xor Boolean 作为children

【问题讨论】:

    标签: mysql select exists


    【解决方案1】:

    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
    

    【讨论】:

    • 谢谢,好像我以前试过这个,但有一些错误,所以没用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-27
    • 2018-08-11
    • 1970-01-01
    • 2017-04-23
    相关资源
    最近更新 更多