Sql获取id,其中column1 = value1,column1 = value2

时间:2016-02-10 23:37:51

标签: sql where-clause

enter image description here

我需要获取tour_id,其中tour_types_id为7 AND 1

所以在这种情况下(图像)我需要: 213215223225

我觉得这是一个简单的问题,但我无法弄清楚:(

感谢。

[编辑]抱歉,tour_types_id是7(不是5)和1.修正了Pot

7 个答案:

答案 0 :(得分:1)

编辑:

由于您希望拥有tour_ids 1 AND 7的所有tour_types_id,您可以使用此功能:

SELECT DISTINCT tour_id FROM tablename WHERE tour_types_id = 1 OR tour_types_id = 7 GROUP BY tour_id HAVING count(DISTINCT tour_types_id) = 2

PREVIOUS:

也许你在想OR?如果您想获得具有tour_types_id = 5或tour_types_id = 1的所有tour_id,则需要OR。在英语中,语句表示:从表tablename中选择tour_types_id等于1或等于5的所有tour_id。

SELECT tour_id FROM tablename WHERE tour_types_id = 1 OR tour_types_id = 5;

答案 1 :(得分:0)

使用查询SELECT tour_id FROM tablename WHERE tour_types_id = 5 OR tour_types_id = 1

使用tablename您正在使用的表格的实际名称。 你的问题是不正确的。您没有提供足够的信息(tablename?)

答案 2 :(得分:0)

根据您想要的结果,您似乎想要一个OR而不是AND。

答案 3 :(得分:0)

使用having的汇总查询:

select tour_id
from t
where tour_types_id in (1, 7)
group by tour_types_id
having count(distinct tour_types_id) = 2;

答案 4 :(得分:0)

你也可以在

之后使用in子句
SELECT tour_id FROM [Table_Name] WHERE tour_type_id IN (1,5)

如果您想添加或删除某些ID

,这可以更灵活

答案 5 :(得分:0)

尝试此查询:

select tour_id 
from xxxxtable 
where tour_types_id = 1 
   OR tour_types_id = 5;

答案 6 :(得分:0)

我找到了这个解决方案:

SELECT DISTINCT tour_id FROM tablename t1 
WHERE EXISTS (SELECT * FROM tablename WHERE tour_types_id = '1' AND tour_id = t1.tour_id) 
AND EXISTS (SELECT * FROM tablename WHERE tour_types_id = '7' AND tour_id = t1.tour_id)

对不起,如果我浪费你的时间,我正在寻找几个小时。

感谢您的帮助