使用select语句编写Sql insert into语句

使用select语句编写Sql insert into语句,sql,insert,Sql,Insert,我想从表(item2)和不在该item2表中的日期向表(item1)插入一些值 如何使用select语句将SQL insert写入语句以实现这一点 例如: 这不管用。我该怎么做才能修好它 insert into daily_stock(date, product_id, name, weight, qty, free_issues, sales_price, purchased_price, category, last_purchased_da

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

如何使用select语句将SQL insert写入语句以实现这一点

例如:

这不管用。我该怎么做才能修好它

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,今天是一个字符串变量,数据仍然没有插入,怎么了?

你几乎做到了:只需使用
选择
变量来插入
值,并将数据作为常量包含在其中:

insert into item1(date,name,qty) 
select <datevalue>, col1, col2 from item2;
yyyymmdd
始终以可识别的ISO格式工作)

或者更好


对于MySql,对于Oracle等,等等。

使用
插入到…选择
语句

INSERT INTO item1 (date, name, qty) 
SELECT 'value here' as datevalue, col1, col2 
FROM   item2

如果没有您正在使用的特定SQL server/类型,在T-SQL中可以这样做:

INSERT INTO Table1
SELECT '29/01/2012', T2.Column1, T2.Column2 FROM Table2 T2
你很接近

INSERT into ITEM1 (date, name, qty) 
values (datevalue, (SELECT col1, col2 FROM item2));
有趣的我从未对关键字
internal
编码,因为它是每个数据库中的默认连接类型,每个人都知道这一点。
INSERT INTO item1 (date, name, qty) 
SELECT 'value here' as datevalue, col1, col2 
FROM   item2
INSERT INTO Table1
SELECT '29/01/2012', T2.Column1, T2.Column2 FROM Table2 T2
INSERT into ITEM1 (date, name, qty) 
values (datevalue, (SELECT col1, col2 FROM item2));