構造体を必要な時に動的に割り当てた後、伝票月の一致する店舗番号、店舗番号の一致する区分番号1、区分番号の一致する区分番号2を並び替えたいのですが、うまくいきません。SQL文でのORDER BY 文で並び替えると、店舗番号が飛び飛びになってしまいます。クイックソートやバブルソートで、伝票日付を並び替えた中で店舗番号を並び替える、など何か方法はありませんか?

'伝票データを格納する構造体 */
Type Aa
伝票日付 as integer
店舗番号 as integer
区分番号1 as integer
区分番号2 as integer
End Type
dim Denpyo() as Aa

A 回答 (3件)

GROUP BY句を使ったらいいのでは?


GROUP BY句とは、ある表の行を、条件ごとにまとめて扱うものです。たとえば人事関係の表なら、部ごとの給与の平均を取るとか。GROUPBY句はSELECTコマンドのオプションとして使います。
はずしてたらごめんなさいm(__)m
    • good
    • 0
この回答へのお礼

GROUP BY句は使っています。何度も色々な方法を試しては見たのですが、やはり、一回のSQL文では無理だと思い、月別でデータを取得した後、店舗番号と区分番号1、区分番号2でソートさせることにしました。回答ありがとうございます。

お礼日時:2002/04/02 15:58

再びmaruru01です。



どうやら逆のようでした。

ORDER BY 伝票日付, 店舗番号, 区分番号1, 区分番号2

これならいいと思いますが。
では。
    • good
    • 0
この回答へのお礼

どうもありがとうございます。やってみましたが、やはりORDER BY句からでは無理なようです。伝票番号を優先すると、後の区分番号1と、区分番号2がバラバラになってしまいました。でも、ORDER BY句の中で列指定を並び替えるというのはとても参考になりました。別のプログラムで使わせていただきました。ありがとうございます。

お礼日時:2002/04/01 18:18

こんにちは。

maruru01です。

ORDER BYに複数を指定すればいいんじゃないでしょうか。
この時、前から順に優先してソートするから、

ORDER BY 区分番号2, 区分番号1, 店舗番号, 伝票日付

とすればいいと思いますが。
では。

この回答への補足

早い回答をありがごうとざいました。
すみません。説明が足りなかったと思うので、補足させていただきます。
ORDER BY句を使用し区分番号2,区分番号1,店舗番号,伝票日付とすると、区分2と区分1の順でソートされますが、伝票日付と店舗番号がバラバラになってしまうんです。
伝票日付 店舗番号 区分1 区分2
2002-02-01   2   0   0
2002-02-07   2   0  0
2002-02-04   4  0  0
2002-02-01   8  1  0
2002-02-28 7 2 1
と上のように伝票番号と店舗番号がバラバラになってしまいます。
出したい結果としては、伝票日付が2002-02-01のデータをまとめ、その中で店舗番号が2のデータをまとめ、その中で区分1が0のデータをまとめ、さらに区分2のデータをまとめたいのです。
ORDER BY 句で色々と試しては見たのですが、必ず何処かがバラバラになってしまいます。

補足日時:2002/04/01 14:20
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

今、見られている記事はコレ!

おしトピ編集部からのゆる~い質問を出題中

お題をもっとみる


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ