【问题标题】:MS Access: Custom crosstab query row sortingMS Access:自定义交叉表查询行排序
【发布时间】:2022-01-03 03:24:18
【问题描述】:

这是我的交叉表查询。我想先用特定的 VENDOR_NAME 订购它,然后让其余的按字母顺序排列。我在整个项目中的许多其他(非交叉表)查询中使用:

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;

【问题讨论】:

  • 尝试将 Vendor_Name 作为 SELECT 中的第一个字段。
  • 这似乎会导致同样的错误。

标签: sql ms-access


【解决方案1】:

我想我通过将 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;

【讨论】:

    猜你喜欢
    • 2010-11-11
    • 1970-01-01
    • 1970-01-01
    • 2015-12-28
    • 1970-01-01
    • 2018-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多