MYSQL |两张桌子的要求2

时间:2013-08-01 05:59:19

标签: php mysql request

我有2个Mysql表:

A(用户表):

id username room

1    User1    1 
2    User2    1
3    User3    1

B(被阻止的用户):

id   username
1    User3

我的请求在这里(我想将User1和User2作为User3处于阻止状态):

SELECT A.id, A.username FROM `table1` A, `table2` B 
  WHERE A.roomid = 1 AND A.username != B.username

但这是错误的要求。 谢谢!

3 个答案:

答案 0 :(得分:0)

您需要join两个表格A& B喜欢

SELECT A.id, A.username FROM `table1` A
JOIN `table2` as B ON `table1`.id = `table2`.id
WHERE A.room = 1 AND A.username != B.username

或您的列名称为room而不是roomid

SELECT A.id, A.username FROM `table1` A, `table2` B 
WHERE A.room = 1 AND A.username != B.username

答案 1 :(得分:0)

SELECT A.id, A.username,B.id,B.username FROM `table1` A, `table2` B
WHERE A.roomid = 1 AND A.username != B.username

答案 2 :(得分:0)

在表A中ID是什么意思?它是用户名的身份吗?
在表B中ID是什么意思?

你必须使用sql join来获得期望的输出。但要做到这一点,你需要在两个表中都有一个共同的密钥。根据您的表示例,我认为ID不是常用密钥,您只需使用它即可。但如果我错了,你可以使用内连接加入这两个表,同时将ID作为公共密钥。