Mysql获取链接且未链接主键

时间:2017-08-16 01:39:24

标签: mysql sql

您好我正在尝试使用if exist进行查询以获取链接且未链接到其他表的主键。这是我的查询

SELECT *, IF( EXISTS(
             SELECT * FROM categorias
  Where (SELECT COUNT(*)
  FROM actividades where categorias.categoriaID)=0)  , "YES", "NO") 
  FROM  categorias

即使很少有主键没有链接,我也总是YES。任何帮助都会有用。

我的表类别作为父表和子表是actividades (FK from categorias)

在我的categorias表中,我有3种类型

 CategoriaID   TYPE
   1           ADMIN
   2           USEER
   3           W/E

在我的孩子表中我有

ChildrenID  FatherID(categoria)    NAME
1                 1                NONE

查询结果应为

1 ADMIN NO
2 USEER YES
3 W/E  YEs

因为如果父亲没有子女ID,我的if条件就会YES

1 个答案:

答案 0 :(得分:1)

没有' IF'

的解决方案
SELECT t1.column_name, 'NO' AS column_name 
FROM table1 AS t1, table2 AS t2 
WHERE t1.id = t2.t1_id
UNION
SELECT column_name, 'Yes' AS column_name 
FROM table1 
WHERE id NOT IN(SELECT t1_id FROM table2);

' IF'

的解决方案
SELECT column_name, IF(id IN(SELECT t1_id FROM table2), 'NO', 'Yes') AS column_name
FROM table1;

我希望我能帮到你。