私は必要とするデータを正確に返すSQLクエリを持っています。しかし、私はOrder Byに問題があります。私はいくつかの種類のネストされた選択またはグループバイが必要かもしれないと思うが、私はそれらのうちの1つを行ったことがないので、誰かが助けることができるかどうか疑問に思った。データはまずcentre_id、次にlearner_name、次にjourney_centre_startでソートする必要がありますが、centre_idとlearner_nameでソートされているように見え、journey_centre_startのソートは無視されます。by SQL join
Journey_centre_startは、データベースにNULLデフォルト値を持つ日付型です。
SELECT a.learner_id
, a.learner_name
, a.centre_id
, a.learner_status
, b.journey_id
, c.journey_centre_start
FROM learner a
JOIN learner_journey b
ON a.learner_id = b.learner_id
JOIN journey c
ON b.journey_id = c.journey_id
WHERE a.centre_id != 999
AND a.learner_status = 'complete'
ORDER
BY a.centre_id ASC
, a.learner_name ASC
, c.journey_centre_start ASC;
'journey_centre_start'はどのようなタイプですか? _日付の値を保持するテキストフィールドの場合、おそらく問題が説明されます。 _ – Uueerdo
また、journey_centre_startがNULL可能な列である場合、journey_centre_startでソートする前に、クエリはcentre_id、learner_nameおよびnullの順で返されます。 –
私はチェックしていますし、journey_centre_startはデフォルトとしてNULLを持つ日付型です。それでもソートすることはできますか?ありがとう – JanTay