MySQL IF EXISTS not working
尝试使用IF EXISTS自动选择要从中选择记录的表。
我刚得到下面的错误消息与下面的代码。
我要去哪里错了?
1 2 3 4 |
错误:#1064-您的SQL语法有错误; 在第1行的'IF EXISTS(SELECT 1 FROM Users WHERE Reference ='USR00000007')SELECT * FROM'附近,查看与您的MySQL服务器版本相对应的手册以使用正确的语法。
问题出在MySQL中。
假设两个表中的列相同,则可以通过单个查询来执行所需的操作:
1 2 3 4 5 6 7 8 |
如果要合并两个查询,则两个桅杆都具有相同数量的字段(如果需要,可以添加空字段以进行查询),并且字段应具有相似的类型,因此请尝试以下操作:
1 2 3 4 5 6 7 | SELECT Users.id as user_id, null as staff_id, some_other_number_field, some_other_char_field FROM Users WHERE Reference='USR00000007' SELECT null , Staff.id, some_other_number_field, some_other_char_field FROM Staff WHERE Reference='USR00000007' and not EXISTS (SELECT 1 FROM Users WHERE Reference='USR00000007'); |
也许您需要这样的查询,以始终仅获得用户作为参考:
1 2 3 4 5 6 7 8 |
但是您必须具有类似于"和Staff.user_id = Users.id"的加入条件