2013-05-30 346 views
0

我有兩個表ProductsNotArrivedOrders(所有列都是nvarchar(50))。如何將某個表中的某些數據複製到另一個表中?

現在的產品我有這樣的欄目:

  1. 產品名稱。
  2. ProductPrice。
  3. ProductAmount。

而在NotArrivedOrder我有這樣的:

  1. 的OrderId
  2. 產品名稱
  3. ProductPrice
  4. ProductAmount
  5. ArriveDate

我想插入到產品將到達的訂單(即今天的日期大於到達日期)。

我該怎麼辦? (有一個副本查詢或類似的東西)。

我嘗試這樣做:

INSERT INTO Products 
values(Select ProductName,ProductPrice,ProductAmount FROM NotArrivedOrder Where ArriveDate ='30/05/2013')" 

,我得到這個錯誤:

的keywork附近的語法不正確 '選擇'
附近有語法錯誤)「。
將nvarchar數據類型轉換爲日期時間數據類型導致超出範圍值。

+0

您正在使用哪種RDBMS? SQL Server? MySQL的?甲骨文? –

+0

你知道SQL語言嗎?你能寫出你想用於數據交換的SELECT查詢和你想用於數據插入的INSERT查詢嗎?一旦你有這兩個SQL語句,我們可以將它們結合在一起 –

+0

什麼抵達日期? – Serge

回答

0

嘗試這樣.......

Insert Into Product(ProductName, 
    ProductPrice, 
    ProductAmount) (Select ProductName, 
    ProductPrice, 
    ProductAmount 
    from NotArrivedOrder where Casr(ArriveDate as Datetime)< GetDate()) 
+0

我得到了這個錯誤 「在選擇附近不正確的syntex」 –

+0

@ShmulikCohen Ccheck在這裏它的工作文件是這樣的..http://sqlfiddle.com/#!3/c91a0/1 –

+0

@ShmulikCohen @AmitSingh這是插入(...)值(...)'(我認爲;我可能是錯的)。 – michaelb958

0

查詢:

insert into Product 
values(select productname,ProductPrice,ProductAmount 
     from NotArrived order 
     where ArriveDate<GetDate()) 

C#代碼:

try 
    { 
    con.open(); 
    cmd=new sqlcommand("insert into Product values(select productname,ProductPrice,ProductAmount from NotArrived order where ArriveDate<GetDate())",conn); 
    cmd.executenonquery(); 
    con.close(); 
    } 
    catch(exception ex) 
    { 
    } 
    finally 
    { 
    con.close(); 
    } 
+0

即時通訊,即時獲取此錯誤| 「關鍵字附近的語法錯誤選擇 錯誤的語法接近')' –

+0

是這樣的單個錯誤? – Freelancer

+0

是的,是的,您認爲我能做什麼? –

3

請試試這個。

INSERT INTO PRODUCT 
SELECT ProductName, ProductPrice, ProductAmount 
FROM NotArrivedOrder 
WHERE ArriveDate<CONVERT(nvarchar(50),GetDate()) 
+0

看到我編輯過的帖子.. –

+0

我編輯了答案,請檢查 –

相關問題