具有多个相同条件的SQL查询

时间:2020-03-17 11:33:53

标签: sql select sybase

我使用Sybase DB并尝试使用几种条件选择数据:

表名“别名”。

a_id, a_data, a_type_id, a_value
------------------------------
    1,   666,       123, "value_1"
    2,   666,       456, "value_2"
    3,   777,       123, "value_4"
    4,   777,       456, "value_5"

我有几个条件:

1. a_type_id = 123 and a_value = "value_1" AND
2. a_type_id = 456 and a_value = "value_2"

因此,如果同时满足两个条件,则结果应为a_data = 666。 查询应该是这样的,但是它当然不起作用,返回0个结果:

select a_data from alias where ( a_type_id = 123 AND a_value = "value_1" ) AND (a_type_id = 456 AND a_value = "value_2")

期望结果a_data = 666

有人可以建议解决方法吗?可能有2、3或更多类似上述的条件。

1 个答案:

答案 0 :(得分:1)

使用聚合和System.InvalidOperationException: 'Sequence contains no elements'

having

注意:这假设给定的select a_data from t where (a_type_id = 123 and a_value = 'value_1') or (a_type_id = 456 and a_value = 'value_2') group by a_data having count(*) = 2; 值在原始数据中没有重复的类型/值对。如果可以,请使用:

a_data