2012-06-15 53 views
0

我有一個語法正確的查詢(使用SQL Server進行驗證),但是當我爲SQL Server CE執行它時,它給出以下錯誤:使用SQL Server CE中的select和values插入到表中

insert into HistoryPC (Date, Col1) 
values ('12/02/2012', (SELECT COUNT(CASE WHEN i.ProductCode = 'XXX' and i.ProductCode = p.ProductCode THEN Quantity END) 
         FROM Product p, Invoice_Details i 
         left outer join Invoice_Header h on h.Invoice_NO = i.Invoice_No 
         WHERE h.Date = '2012-06-02')) 

錯誤:

There was an error parsing the query. [ Token line number = 1,Token line offset = 63,Token in error = SELECT ]

我要的是插入表格的日期列是使用選擇今天和其他值。

我該怎麼做?

+0

爲什麼混合舊式和新式連接? –

+0

你確定CE引擎和全成型的sql server有相同的解析器/執行器嗎?僅僅因爲他們在命名上有相似之處,並不意味着他們的實際工作原理是一樣的。 –

+0

與sql server相比,sql CE有很多限制。我認爲sql ce不支持這種插入。有沒有辦法可以插入表的日期列爲今天和其他值使用選擇。 – user1450810

回答

1

查詢對我來說沒有任何意義。這是我能夠接近你寫的,但我懷疑這不是你的意思。

insert into HistoryPC (Date,Col1) 
SELECT '12/02/2012', 
    SUM(CASE WHEN i.ProductCode = 'XXX' THEN Quantity ELSE 0 END) 
FROM Product AS p 
INNER JOIN Invoice_Details AS i 
ON i.ProductCode = p.ProductCode 
LEFT OUTER JOIN Invoice_Header AS h 
ON h.Invoice_NO = i.Invoice_No 
AND h.Date = '2012-06-02'; 
相關問題