[英]Can anyone help me to convert Access Query to MS SQL Query
嗨,我有一個訪問查詢,任何人可以幫我請我將查詢轉換為MS SQL 2008查詢。
掙扎着Transform
和PIVOT
。
訪問查詢是:
TRANSFORM Count(vwg_vkCustomers.CustomerNo) AS CountOfCustomerNo
SELECT vwg_vkCustomers.ClassID, vwg_vkCustomers.SubjectTypeID, vwg_vkCustomers.TutorCode
FROM vwg_vkCustomers
WHERE (((vwg_vkCustomers.TutorCode)="123456") AND ((vwg_vkCustomers.CustomerAdded)>#6/21/2011#))
GROUP BY vwg_vkCustomers.ClassID, vwg_vkCustomers.SubjectTypeID, vwg_vkCustomers.TutorCode
PIVOT vwg_vkCustomers.Type;
謝謝
我不知道IIF的T-SQL版本,但這是不使用TRANSFORM / PIVOT的交叉表查詢的Access版本。 對所需的每個列重復IIF表達式:
SELECT vwg_vkCustomers.ClassID, vwg_vkCustomers.SubjectTypeID, vwg_vkCustomers.TutorCode,
Sum(IIF(vwg_vkCustomers.Type="Whatever",1,0) AS TypeWhatever
FROM vwg_vkCustomers
WHERE (((vwg_vkCustomers.TutorCode)="123456") AND ((vwg_vkCustomers.CustomerAdded)>#6/21/2011#))
GROUP BY vwg_vkCustomers.ClassID, vwg_vkCustomers.SubjectTypeID, vwg_vkCustomers.TutorCode
與TimD的回答結合這一點,因為我不爭論TRANSFORM
經常....
對於Iif
,請使用CASE
:
...
CASE vwg_vkCustomers.Type
WHEN 'Whatever' 1
ELSE 0
END,
...
請注意,您使用單引號而不是double。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.