我需要获取tour_id,其中tour_types_id为7 AND 1
所以在这种情况下(图像)我需要: 213215223225
我觉得这是一个简单的问题,但我无法弄清楚:(
感谢。
[编辑]抱歉,tour_types_id是7(不是5)和1.修正了Pot
答案 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)
对不起,如果我浪费你的时间,我正在寻找几个小时。
感谢您的帮助