0

我有 2 个 Mysql 表:

A(用户表):

id 用户名 房间

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

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

4

3 回答 3

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
于 2013-08-01T06:00:51.173 回答
0
SELECT A.id, A.username,B.id,B.username FROM `table1` A, `table2` B
WHERE A.roomid = 1 AND A.username != B.username
于 2013-08-01T06:01:55.863 回答
0

在表 A 中,ID 是什么意思?是用户名的id吗?
在表 B 中,ID 是什么意思?

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

于 2013-08-01T07:05:26.583 回答