Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MYSQL |来自两个表2的请求_Php_Mysql_Request - Fatal编程技术网

Php MYSQL |来自两个表2的请求

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.

我有两个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.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