我只想在子选择不为空的情况下运行父选择。不确定如何使用sql查询实现这一点:
SELECT * from schools
WHERE `district_id` =
(SELECT district_id from schools WHERE `school_id` = '0023194')发布于 2018-08-01 02:13:40
看起来你只需要像下面这样使用IN:
SELECT * from schools
WHERE `district_id` in
(SELECT district_id from schools WHERE `school_id` = '0023194')SQL HERE
发布于 2018-08-01 02:06:33
您应该像这样运行您的sql查询...
SELECT * from schools
WHERE `district_id` =
(SELECT district_id from schools
WHERE `school_id` = '0023194'
AND
district_id IS NOT NULL)
AND district_id IS NOT NULLdistrict_id不为空以防止district_id不为空
发布于 2018-08-01 02:35:16
可以使用IN运算符,因为IN运算符允许您在WHERE子句中指定多个值。
IN运算符是多个OR条件的简写。在您的条件下,=只比较一个条件,但是如果您有此school_id的多个记录,=将无法对其求值。
SELECT * from schools WHERE `district_id` in (SELECT district_id from schools WHERE `school_id` = '0023194')https://stackoverflow.com/questions/51619445
复制相似问题