1

この SQL クエリがあり、その結果を Excel 2013 シート/テーブルで取得したい

SELECT 
  [MS Part Number], [Item Name], SUM([Aantal]) AS Aantal, [Prijs]
FROM 
  (
    SELECT 
      [MS Part Number], [Item Name], SUM([Aantal]) AS Aantal, [Prijs]
    FROM 
      vwSPLAInformatie
    WHERE 
      (DATEPART(YEAR, fakdat) = '2013') 
      AND (DATEPART(QUARTER, fakdat) = '1')
      AND docnumber LIKE '%kwartaal%'
    GROUP BY 
      [MS Part Number], [Item Name], [Aantal], [Prijs]
    UNION ALL
    SELECT 
      [MS Part Number], [Item Name], SUM([Aantal]) AS Aantal, [Prijs]
    FROM 
      vwSPLAInformatie
    WHERE 
      (DATEPART(YEAR, fakdat) = '2013') 
      AND (DATEPART(MONTH, fakdat) = '1')
      AND NOT docnumber LIKE '%kwartaal%'
    GROUP BY 
      [MS Part Number], [Item Name], [Aantal], [Prijs]
  ) AS Basis
GROUP BY 
  [MS Part Number], [Item Name], [Prijs]

それは完全に機能します。唯一のことは、Excelで3つのセル値に接続したい4つのパラメーターがあることです。(年 = 2013) (四半期 = 1) (月 = 2)。しかし、クエリを次のように調整すると:

 WHERE (DATEPART(YEAR, fakdat) = '?')

そして、Excelで2013というセルを選択したので、基本的には機能するはずですが、機能しません。次のエラーが表示されます。

[Microsoft]ODBC SQL Server][SQL Server]Conversion failed when converting the varchar value '?' to data type in.

値は同じですが、まったく機能しません。どうすればこれを修正できますか? これが機能するとき、私は非常に幸せです!よろしくお願いします。

4

0 に答える 0