Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.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/regex/19.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
MYSQL没有';使用右连接时无法识别字段,但使用自然连接时可以识别字段_Mysql_Sql_Right Join - Fatal编程技术网

MYSQL没有';使用右连接时无法识别字段,但使用自然连接时可以识别字段

MYSQL没有';使用右连接时无法识别字段,但使用自然连接时可以识别字段,mysql,sql,right-join,Mysql,Sql,Right Join,当我写入以下内容时,查询按预期执行: SELECT id, day2.count - day1.count AS diff FROM day1 NATURAL JOIN day2; 但我真正想要的是一个正确的加入。当我写作时 SELECT T1.id, day2.count - day1.count AS diff FROM day1 RIGHT JOIN day2 AS T1 ON day1.id = day2.id 它表示无法识别字段列表中的day2.count。(另外,我不知道在第二个

当我写入以下内容时,查询按预期执行:

SELECT id, day2.count - day1.count AS diff
FROM day1 NATURAL JOIN day2;
但我真正想要的是一个正确的加入。当我写作时

SELECT T1.id, day2.count - day1.count AS diff
FROM day1 RIGHT JOIN day2 AS T1
ON day1.id = day2.id
它表示无法识别字段列表中的day2.count。(另外,我不知道在第二个查询中是否应该是正确的外部联接,但在本例中的结果是相同的。)

我觉得我错过了一些简单的事情

编辑:以下是定义:

第1天

第2天

(与第1天相同)


其想法是,第2天的表中可能有第1天没有的新ID。

您对其进行了过度设计。从where子句中去掉“as t1”。

使用别名或表名

SELECT day2.id, day2.count - day1.count AS diff
FROM day1 RIGHT JOIN day2
ON day1.id = day2.id

你能在你的帖子中包含你的表定义吗?你试过自然右连接吗?它出现在mysql引用中。并将
T1.id
更改为
day2.id
以匹配.H'm。我只包括T1,因为它说“字段列表中的id不明确”之类的。我想day2.id更有意义。谢谢。您可以使用T1,但是您必须在on子句和select以及where和group by中使用它。换句话说,该表现在命名为t1,您需要始终引用它。
SELECT day2.id, day2.count - day1.count AS diff
FROM day1 RIGHT JOIN day2
ON day1.id = day2.id