【发布时间】:2013-05-30 09:36:44
【问题描述】:
我有两个表Products 和NotArrivedOrders(所有列都是nvarchar(50))。
现在在产品中我有这个专栏:
- 产品名称。
- 产品价格。
- 产品数量。
在 NotArrivedOrder 我有这个:
- 订单编号
- 产品名称
- 产品价格
- 产品数量
- 到达日期
我想在产品中插入所有到达的订单(今天的日期比到达的日期大)。
我该怎么做? (有一个复制查询或类似的东西)。
我试过这个:
INSERT INTO Products
values(Select ProductName,ProductPrice,ProductAmount FROM NotArrivedOrder Where ArriveDate ='30/05/2013')"
我收到了这个错误:
“选择”键附近的语法不正确
')' 附近的语法不正确。
将 nvarchar 数据类型转换为 datetime 数据类型导致值超出范围。
【问题讨论】:
-
您使用的是哪个 RDBMS? SQL 服务器? MySQL?甲骨文?
-
你懂SQL语言吗?您可以编写要用于数据提取的 SELECT 查询和要用于数据插入的 INSERT 查询吗?一旦你有了这两个 SQL 语句,我们就可以将它们组合在一起
-
1 我正在使用 SQL 服务器 2 我尝试过类似的东西,但没有用。 3 到货日期是 30/05/2013
-
@ShmulikCohen 你不需要 values 关键字......像我在回答中建议的那样尝试......
-
您需要要么使用
INSERT INTO Products(list of columns) VALUES(explicit values),或者然后使用INSERT INTO Products(list of columns) SELECT (list of columns) FROM ......。您不能混合使用VALUES和SELECT方法。另外:我强烈建议始终在您的INSERT INTO ....语句中定义一个明确的列列表 - 只是为了安全
标签: c# sql sql-server winforms