2010-06-29 23 views
2

我有一個用this sample help寫的t-sql查詢。DataSet TableAdapter拋出OVER SQL構造或語句不被支持

SELECT t.gName AS 'Product' 
, isnull(SUM(CASE WHEN t.Col = 1 THEN t.Quantity END),0) AS '180ml' 
, isnull(SUM(CASE WHEN t.Col = 2 THEN t.Quantity END),0) AS '375ml' 
, isnull(SUM(CASE WHEN t.Col = 3 THEN t.Quantity END),0) AS '500ml' 
, isnull(SUM(CASE WHEN t.Col = 4 THEN t.Quantity END),0) AS '1000ml' 
, isnull(SUM(CASE WHEN t.Col = 5 THEN t.Quantity END),0) AS '2000ml' 
FROM (
SELECT p.pName 
    , p.pCode 
    , p.pGroup 
    , p.pSize, i.gName, i.gCode 
    , sl.Quantity, sl.BillDate 
    , DENSE_RANK() OVER(PARTITION BY p.pGroup ORDER BY p.pSize) AS Col 
    FROM 
     ItemGroup AS i INNER JOIN 
          Products AS p ON i.gCode = p.pGroup INNER JOIN 
          SalesLog AS sl ON p.pGroup = sl.pGroup 
     AND p.pCode = sl.ProductCode 
     ) AS t where [email protected] and t.pGroup!=15 and t.pGroup!=16 
    GROUP BY t.gName 
    order by t.gName 

它Management Studio中查詢編輯工作,但不是在DataSet中拋出錯誤,如過SQL構造或語句不支持。

這是Report(.rdlc)所需的查詢。請幫助

謝謝

回答

4

我會把這個SQL中的存儲過程或視圖。然後你可以從那裏填充你的DataSet。

+0

嘿謝謝,工作完美,使用功能....... 非常感謝! – 2010-06-29 08:03:02

+0

很好的答案! 7年後,仍然幫助我。我想知道爲什麼over函數會導致TableAdapter出現問題。 SQL不應該在SQL Server上執行? querry本身如何影響適配器?當它從數據庫獲得結果時,我認爲適配器會開始工作。但拋出這個異常說明了另一個故事。 – Luke 2017-07-12 12:31:31

0

ADAPTER不能爲腳本創建圖表。右鍵單擊,轉到Panes,取消Diagram ...就是這樣!它運行:)