[英]MS Access: Custom crosstab query row sorting
這是我的交叉表查詢。 我想先用特定的 VENDOR_NAME 訂購它,然后讓 rest 按字母順序排列。 我在整個項目中的許多其他(非交叉表)查詢中使用:
ORDER BY iif(VENDOR_NAME = 'GNC',0,1), VENDOR_NAME ASC, ITEM_NO
當我嘗試將其放入交叉表查詢時,我被告知 iif 語句與 GROUP BY 子句沖突。 有沒有辦法解決? 完整的交叉表代碼如下。
PARAMETERS Forms!frm_PSFViewer!cmb_TDNo Long;
TRANSFORM Sum(PREKIT_CONTENTS.ITEM_QTY) AS SumOfITEM_QTY
SELECT
PSF_ITEM_DETAILS.ITEM_KEY
,VENDORS.VENDOR_NAME
,ITEMS.ITEM_NO
FROM VENDORS
INNER JOIN (PREKITS
INNER JOIN ((ITEMS
INNER JOIN PREKIT_CONTENTS
ON ITEMS.ITEM_ID = PREKIT_CONTENTS.ITEM_KEY)
INNER JOIN PSF_ITEM_DETAILS
ON ITEMS.ITEM_ID = PSF_ITEM_DETAILS.ITEM_KEY)
ON PREKITS.PREKIT_ID = PREKIT_CONTENTS.PREK_KEY)
ON VENDORS.VENDOR_ID = PSF_ITEM_DETAILS.PRNT_VEND_KEY
WHERE ((([PREKITS].[PSF_KEY])=[Forms]![frm_PSFViewer]![cmb_TDNo])
AND ((PREKITS.PREKIT)<>'ARCHWAY'))
GROUP BY PSF_ITEM_DETAILS.ITEM_KEY, VENDORS.VENDOR_NAME, ITEMS.ITEM_NO
ORDER BY VENDORS.VENDOR_NAME, ITEMS.ITEM_NO
PIVOT PREKIT_CONTENTS.PREK_KEY;
我想我通過將 iif 添加到 GROUP BY 子句來修復它。
PARAMETERS Forms!frm_PSFViewer!cmb_TDNo Long;
TRANSFORM Sum(PREKIT_CONTENTS.ITEM_QTY) AS SumOfITEM_QTY
SELECT
PSF_ITEM_DETAILS.ITEM_KEY
,VENDORS.VENDOR_NAME
,ITEMS.ITEM_NO
FROM VENDORS
INNER JOIN (PREKITS
INNER JOIN ((ITEMS
INNER JOIN PREKIT_CONTENTS
ON ITEMS.ITEM_ID = PREKIT_CONTENTS.ITEM_KEY)
INNER JOIN PSF_ITEM_DETAILS
ON ITEMS.ITEM_ID = PSF_ITEM_DETAILS.ITEM_KEY)
ON PREKITS.PREKIT_ID = PREKIT_CONTENTS.PREK_KEY)
ON VENDORS.VENDOR_ID = PSF_ITEM_DETAILS.PRNT_VEND_KEY
WHERE ((([PREKITS].[PSF_KEY])=[Forms]![frm_PSFViewer]![cmb_TDNo])
AND ((PREKITS.PREKIT)<>'ARCHWAY'))
GROUP BY PSF_ITEM_DETAILS.ITEM_KEY, iif(VENDOR_NAME = 'GNC',0,1), VENDOR_NAME, ITEMS.ITEM_NO
ORDER BY iif(VENDOR_NAME = 'GNC',0,1), ITEMS.ITEM_NO
PIVOT PREKIT_CONTENTS.PREK_KEY;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.