sql - 使用select语句编写Sql插入语句

标签 sql insert

我想从表 (item2) 和不在该 item2 表中的日期向表 (item1) 插入一些值。

如何使用 select 语句编写 SQL insert into 语句以实现该目的?

例如:

INSERT into item1(date, name, qty) 
values(datevalue, select col1, col2 from item2);

这不起作用。我应该怎么做才能修复它?
insert into daily_stock(date, product_id, name, weight, qty, free_issues, sales_price, 
                        purchased_price, category, last_purchased_date) 

     select 
        **'"+today+"'**,
        productId, name, weight, newQty, freeIssues, NewSalesPrice,
        NewPurchasePrice, category, datePurchased 
     from product

我正在使用java,今天是一个字符串变量,仍然没有插入数据,怎么了?

最佳答案

你就快到了:只需使用 SELECT INSERT 的变体代替 VALUES ,并将您的数据作为常量包含在其中:

insert into item1(date,name,qty) 
select <datevalue>, col1, col2 from item2;

如果您的日期来自另一个表,您可以这样做:
 insert into item1(date,name,qty) 
 select d.dcol1, i2.col1, i2.col2 
 from item2 i2 inner join table_containing_date_col d
 on <some join criteria>

编辑:您必须确保数据类型匹配,即如果您将其保存到日期字段(希望您是!),则必须可以解析为日期。您没有提供数据库的详细信息,但对于 SQL Server 来说会是这样
cast('your date in yyyymmdd format' as datetime) 

( yyyymmdd 始终有效,因为它是可识别的 ISO 格式)

或者更好 CONVERT

对于 MySql,你有 STR_TO_DATE , 对于 Oracle TO_DATE等等等等

关于sql - 使用select语句编写Sql插入语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13120711/

相关文章:

sql - 如何批量插入数据?

mysql - 列的组总和并插入

mysql - 在 Wordpress usermeta 表中批量插入 SQL

javascript - 两个下拉列表并用PHP保存在数据库中

sql - 使用SQL的文件中的源成员列表

mysql - Node mysql 无法获得查询响应

MySQL 一些具有特殊权重的行的平均值

c++ - 使用带有比较结构的 lower_bound 将对象插入到 vector 中

php - 在 Web 服务器上存储和检索图像的最佳方法是什么?

php - 如何搜索多个字段(SQL、PHP)?