我有一张如下表格
ID Status
1 InActive
2 Active
3 Active
4 InActive
5 Active
我想选择ID 2然后获取ID 2的状态,然后根据该状态我想选择具有相同状态的所有剩余ID。
我无法创建简单的演示,因为我无法想出如何选择的方法。
预期:
Get ID 2,3,5
因为他们都有活跃状态
目前正在处理手头的问题
基地选择:
Select * from table where id = 2
我想知道要添加到此查询的内容,以便能够选择与id 2共享相同状态的另外2行
答案 0 :(得分:7)
如何使用子查询查找ID 2状态:
SELECT *
FROM yourTable
WHERE Status = (SELECT Status FROM yourTable WHERE ID = 2)
答案 1 :(得分:3)
您应该使用 JOIN 来获得结果。
SELECT *
FROM `tablename` AS t1
JOIN `tablename` AS t2 ON t1.Status = t2.Status where t1.ID = 2
答案 2 :(得分:1)
使用以下查询:
SELECT `ID`
FROM `table`
WHERE `Status` = (SELECT `Status` FROM `table` WHERE `ID` = 2)