我有以下记录
id userid number revokeid
1 1 123 0
2 2 456 0
3 3 789 0
加班,将添加和修改更多记录
id userid number revokeid
1 1 123 1
2 2 456 0
3 3 789 1
如果发生这种情况,我想提取revokeid = 1的记录。非常简单。
id userid number revokeid
1 1 123 1
2 2 456 0
3 3 789 1
4 1 147 0
如您所见,重新添加了用户标识1。我想用revokeid = 1提取记录。但是,在userid 1的情况下,revokeid = 0,不应该提取它。
更多记录
id userid number revokeid
1 1 123 1
2 2 456 0
3 3 789 1
4 1 147 0
5 4 258 0
6 5 369 1
7 5 321 0
8 6 123 0
我现在已经开了一个多星期了。非常感谢任何形式的帮助。
高级感谢你。
答案 0 :(得分:1)
"提取"可以指这里有两件事之一:
1:您想要选择这些记录:
SELECT * FROM yourtable WHERE revokeid = 1
2:您想要删除这些记录:
DELETE FROM yourtable WHERE revokeid = 1
在这两种情况下,您只需添加WHERE子句并指定revokeid
字段应等于1
的条件。 For reference - see here
答案 1 :(得分:1)
SELECT * FROM tablename WHERE revokeid=1
只获取revokeid为1的行。
DELETE FROM tablename WHERE revokeid=1
将删除revokeid为1的行。
如果您想获得特定的用户ID,但只有revokeid为0,您可以使用SELECT * FROM tablename WHERE userid=1 AND revokeid=0
很难确切地说出你的问题是什么意思。
答案 2 :(得分:0)
也许你想要这样的东西:
SELECT * FROM testtable WHERE revokeid=1 AND userid NOT IN (SELECT userid FROM testtable WHERE revokeid=0);
SELECT userid FROM testtable WHERE revokeid=0
获取所有具有未撤销帐户的用户ID。然后在第一个查询中排除这些用户ID。
结果然后包含已撤销= 1的所有条目,不包括那些userid具有被撤销的id = 0的条目。