您好,我正在尝试使用 if exit
进行查询来获取链接到其他表和未链接到其他表的主键。这是我的查询
SELECT *, IF( EXISTS(
SELECT * FROM categorias
Where (SELECT COUNT(*)
FROM actividades where categorias.categoriaID)=0) , "YES", "NO")
FROM categorias
即使很少有主键未链接,我也总是得到YES
。任何帮助都会有用的。
我的表类别作为父表和子表是actividades(来自类别的FK)
在我的categorias
表中,我有3种类型
CategoriaID TYPE
1 ADMIN
2 USEER
3 W/E
在我的 child 表中我有
ChildrenID FatherID(categoria) NAME
1 1 NONE
查询的结果应该是
1 ADMIN NO
2 USEER YES
3 W/E YEs
因为如果父亲没有 child ID,我的 if 条件就会设置 YES
。
最佳答案
没有“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;
希望我能帮到你。
关于Mysql获取链接和未链接主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45703863/