将数据从一个表附加到另一个 - 语法错误?

Posted

技术标签:

【中文标题】将数据从一个表附加到另一个 - 语法错误?【英文标题】:Append data from table one to another - Syntax error? 【发布时间】:2018-11-08 04:58:33 【问题描述】:

我有两张邮政编码信息表,一张没有城市和州字段(2016_Zips),另一张只是邮政编码列表(USZips_V1),“Zip_Code”字段在两张桌子。

我想将更完整的数据(包括城市、州、纬度、经度等字段)与邮政编码的基本列表相匹配。 这样我就可以看到哪个城市的邮政编码是常见的(大城市有多个邮政编码)。

这是我的代码,但返回:

表达式 2016_Zips.Zip_Code 中的语法错误

SELECT USZips_V1.Zip_Code, 2016_Zips.Zip_Code, USZips_V1.city,  USZips_V1.state_id, 2016_Zips.lat, 2016_Zips.long, USZips_V1.imprecise, USZips_V1.military
FROM USZips_V1
INNER JOIN  2016_Zips ON USZips_V1.Zip_Code, 2016_Zips.Zip_Code;

并以此为基础:

SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;

这是我的表格标题:

这是我想要添加信息的地方:

这将是我从中提取数据以添加到上表的地方: 有没有更好的方法来做我想做的事?我的陈述中有明显的错误吗?

我这样做的目的是节省表之间匹配数据的时间。

这是我的预期输出:

【问题讨论】:

能否请您以表格格式提供您的预期输出 @fa06 添加了我预期输出的模型 【参考方案1】:

始终使用显式JOIN

SELECT u.Zip_Code, z.Zip_Code, u.city,  z.state_id, z.lat, z.long, u.imprecise, z.military
FROM USZips_V1 AS u
INNER JOIN  2016_Zips AS z ON u.Zip_Code=z.Zip_Code;

【讨论】:

您的缩写没有意义。请解释一下,因为这也没有运行... @PhilC 这只是一个用于快速编码的别名【参考方案2】:

您必须在加入时使用= 而不是,

SELECT t1.*,t2.*
FROM USZips_V1 t1
INNER JOIN  2016_Zips t2 ON t1.Zip_Code= t2.Zip_Code;

【讨论】:

@PhilC 你能把评论中的错误发给我吗 查询表达式 '2016_Zips.Zip_Code' 中的语法错误 @PhilC 你能在这里创建你的表吗db-fiddle.com/f/hnff3zeH6aM83RrGhf1fJJ/0 in fiddle 这样我就可以检查你在哪里做错了在我看来你的 sql 中有错字 @PhilC 我编辑了我的答案,请您检查它是否有效,如果您提供的表格和列名正确,它应该有效 我收到一个错误“查询必须至少有一个目标字段”

以上是关于将数据从一个表附加到另一个 - 语法错误?的主要内容,如果未能解决你的问题,请参考以下文章

如何将数据(数据类型 BLOB)复制到另一个表中?

使用状态参数发送数据时出现语法错误

根据 Id [重复] 将行从一个表更新到另一个表

MySQL插入包含单引号和双引号的数据,给出语法错误

从三个表中获取数据但出现 SQL 语法错误

从 SAP 获取数据时 MySQL 服务器版本中的 SQL 语法错误