Php MYSQL |来自两个表2的请求
我有两个Mysql表: A(用户表): id用户名房间Php MYSQL |来自两个表2的请求,php,mysql,request,Php,Mysql,Request,我有两个Mysql表: A(用户表): id用户名房间 1 User1 1 2 User2 1 3 User3 1 B(被阻止的用户): 我的请求在这里(我想得到User1和User2,因为User3在块中): 但这是错误的要求。 谢谢 您需要将A和B两个表连接起来 SELECT A.id, A.username FROM `table1` A JOIN `table2` as B ON `table1`.id = `table2`.id WHERE A.
1 User1 1
2 User2 1
3 User3 1
B(被阻止的用户):
我的请求在这里(我想得到User1和User2,因为User3在块中):
但这是错误的要求。
谢谢 您需要将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
like
SELECT A.id, A.username FROM `table1` A, `table2` B
WHERE A.room = 1 AND A.username != B.username
在表A中,ID是什么意思?是用户名的id吗?
在表B中,ID是什么意思 您必须使用SQLJOIN来获得预期的输出。但要做到这一点,两个表中都需要一个公共键。根据您的表示例,我认为ID不是公共键,您只是使用它。但是如果我错了,您可以使用内部连接将两个表连接起来,同时将ID作为公共键
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
SELECT A.id, A.username FROM `table1` A, `table2` B
WHERE A.room = 1 AND A.username != B.username
SELECT A.id, A.username,B.id,B.username FROM `table1` A, `table2` B
WHERE A.roomid = 1 AND A.username != B.username