0
阅读有关非常类似错误的其他文章,我相信我的情况有点不同。这里是代码:重复的SQL Server错误“在预期条件的上下文中指定的非布尔类型的表达式”。
DELETE FROM comp_system_location
WHERE (system_id, location_id) IN
(
SELECT
csl.system_id,
csl.location_id
FROM comp_system_location AS csl
INNER JOIN orgn_location AS ol ON csl.location_id = ol.location_id
WHERE
ol.building_id IN (1, 3, 4)
AND
(
csl.system_id IN (29, 35)
AND csl.location_id NOT IN (40, 41, 43, 44, 46, 47)
)
OR
(
csl.system_id NOT IN (29, 35)
AND csl.location_id IN (40, 41, 43, 44, 46, 47)
)
);
我觉得这有点不同的原因是我的比较WHERE子句是IN。错误是system_id
在WHERE (system_id,location_is) IN
从其他建议删除基于多列的行,这应该工作。但我以前错了...任何帮助,非常感谢!
第二种选择是我最终选择的。谢谢你马丁!它工作完美。 –