Microsoft Access 掲示板

naokei

1 コメント
views

SELECT
    サブクエリ.ID,
    [親番] AS 親番_1,
    [売上先] AS SSコード_親番_2,
    [売上先カナ] AS フリガナ_SS名_3,
    [子番] AS 子番_4,
    [支店_営業所] AS 売上先_子番_5,
    [支店_営業所カナ] AS フリガナ_売上先_6,
    [孫番] AS 孫番_7,
    [現場名] AS 現場名_孫番_8,
    [現場名カナ] AS フリガナ_現場名_9,
    [府県] AS 府県_10,
    [担当] AS 担当_11,
    [営業担当] AS 営業担当_24,
    [締日] AS 締日_12,
    サブクエリ.[油種] AS 油種_13,
    [直近3ヶ月] AS 改定日_14,
    [仕入] AS 仕入単価_15,
    [売上] AS 売上単価_16,
    [利益] AS 利益_17,
    [仕入コード] AS 仕入先コード_18,
    [仕入先] AS 仕入先名_19,
    [単価_ランク_コード] AS 仕入単価ランクコード_20,
    [単価_ランク] AS 仕入単価ランク名_21,
    [開始(復活)] AS 現場開始日_22,
    [終了] AS 現場終了日_23,
    サブクエリ.備考1,
    サブクエリ.備考2,
    サブクエリ.車番①,
    サブクエリ.車番②,
    サブクエリ.車番③,
    サブクエリ.車番④,
    サブクエリ.車番⑤,
    サブクエリ.車番⑥,
    サブクエリ.車番⑦,
    サブクエリ.車番⑧,
    サブクエリ.車番⑨,
    サブクエリ.[フラグ],
    サブクエリ.日付コード,
    サブクエリ.油種コード,
    サブクエリ.合成キー,
    サブクエリ.納入先業者名カナ,
    サブクエリ.親グループカナ,
    サブクエリ.締め日,
    サブクエリ.数量料,
    サブクエリ.更新用フラグ,
    サブクエリ.更新合成キー,
    サブクエリ.並べ順,
    サブクエリ.新規顧客,
    サブクエリ.終了日,
    サブクエリ.終了チェック,
    サブクエリ.最終編集日,
    MT_油種コード.油種ランク

FROM
    (
        SELECT
            IIf(
                Format([直近3ヶ月], "yyyy/mm") = Format(DateSerial(Year(Date()), Month(Date()), 1), "yyyy/mm"), 1,
                IIf(
                    Format([直近3ヶ月], "yyyy/mm") = Format(DateSerial(Year(Date()), Month(Date()) - 1, 1), "yyyy/mm"), 2,
                    IIf(
                        Format([直近3ヶ月], "yyyy/mm") = Format(DateSerial(Year(Date()), Month(Date()) - 2, 1), "yyyy/mm"), 3,
                        IIf(
                            Format([直近3ヶ月], "yyyy/mm") = Format(DateSerial(Year(Date()), Month(Date()) - 3, 1), "yyyy/mm"), 4,
                            IIf(
                                Format([直近3ヶ月], "yyyy/mm") = Format(DateSerial(Year(Date()), Month(Date()) - 4, 1), "yyyy/mm"), 5,
                                Null
                            )
                        )
                    )
                )
            ) AS 並べ順,
            *
        FROM
            MT_検索テーブル
        WHERE
            [直近3ヶ月] BETWEEN
                DateSerial(Year(Date()), Month(Date()) - 4, 1)
                AND DateSerial(
                    Year(DateAdd("m", 1, Date())),
                    Month(DateAdd("m", 1, Date())),
                    0
                )
    ) AS サブクエリ

LEFT JOIN
    MT_油種コード
ON
    サブクエリ.油種コード = MT_油種コード.油種文字コード

ORDER BY
    サブクエリ.親番,
    サブクエリ.子番,
    サブクエリ.孫番,
    サブクエリ.仕入先,
    サブクエリ.並べ順,
    サブクエリ.直近3ヶ月,
    MT_油種コード.油種ランク;



 サブクエリ.油種コード = MT_油種コード.油種文字コード


このコードを追加したら、

ORDER BY
    サブクエリ.親番,
    サブクエリ.子番,
    サブクエリ.孫番,
    サブクエリ.仕入先,
    サブクエリ.並べ順,
    サブクエリ.直近3ヶ月,
    MT_油種コード.油種ランク;


この並び替えの順がおかしくなりました。

原因が分からず困っています。

原因はなにか、ご教示をお願いします。

SQLの並び替えについて
作成: 2026/04/16 (木) 17:43:44
通報 ...
1
名前なし 2026/04/16 (木) 21:22:43 6234c@0e907

このコードを追加したら、

 NULLを含めて並び替えする仕様になったから?