我有一个用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)所需的查询。请帮助
谢谢
嘿谢谢,工作完美,使用功能....... 非常感谢! – 2010-06-29 08:03:02
很好的答案! 7年后,仍然帮助我。我想知道为什么over函数会导致TableAdapter出现问题。 SQL不应该在SQL Server上执行? querry本身如何影响适配器?当它从数据库获得结果时,我认为适配器会开始工作。但抛出这个异常说明了另一个故事。 – Luke 2017-07-12 12:31:31