我必须在表上运行多个选择并获取2列的结果集。我找到的一个解决方案是使用 UNION ,如下所示。
SELECT cap_id, cap_code FROM cap_master
where cap_type = 'Type1' and cap_desc = 'CapDesc1'
UNION
SELECT cap_id, cap_code FROM cap_master
where cap_type = 'Type2' and cap_desc = 'CapDesc2'
还有其他方法可以做到这一点。一次可能有大约10-20个选择语句。这会影响性能,如果是这样,那么什么是更好的方法。
答案 0 :(得分:1)
我认为你应该能够使用WHERE
语句使用一个带有更大OR
子句的查询。
实施例
SELECT cap_id, cap_code
FROM cap_master
WHERE (cap_type = 'Type1' AND cap_desc = 'CapDesc1`)
OR (cap_type = 'Type2' AND cap_desc = 'CapDesc2')
仅当cap_type
和cap_desc
是特定值时,才能获得结果。