セクション、サブディビジョン、キーマップの順番で結果を並べ替えようとしています。今私はエラーが発生しますが、私はこれを達成するために正しい道にいると思います。私はこの順序でそれを行うために私のケースを適切にセットアップする方法を理解できません。MySQL ORDER BY CASEが動作しない
EDIT:
私は作品のクエリを更新したが、そのはまだ正しい順序で並べ替えません。
SELECT
list.WorkOrder,
list.Address,
locateparsed.CrossStreet,
list.Section,
list.Subdivision,
locateparsed.KeyMap,
locateparsed.City,
list.Score
FROM list
LEFT JOIN locateparsed ON locateparsed.WorkOrder = list.WorkOrder
WHERE locateparsed.City = "PEARLAND"
AND list.Completed = 0
AND list.Reference = 0
AND locateparsed.Ticket IS NOT NULL
GROUP BY list.WorkOrder
ORDER BY CASE
WHEN list.Section = 'Sec. 1' THEN 1
WHEN list.Subdivision = 'Shadow Ridge' THEN 2
WHEN locateparsed.KeyMap = '612P' THEN 3
END
出力例:
WO | Address | CrossStreet | Section | Subdivision | KeyMap | City
1 | 123 test | other | Sec. 1 | Shadow Ridge | 612P | Pearland
2 | 111 test | other | Sec. 1 | Shadow Ridge | 612P | Pearland
3 | 333 other | bleach | Sec. 2 | Shadow Ridge | 612P | Pearland
4 | 334 other | bleach | Sec. 2 | Shadow Ridge | 612P | Pearland
5 | 848 other | bleach | Sec. 2 | Shadow Ridge | 612P | Pearland
6 | 733 blah | random | Sec. 5 | Bright Ridge | 612P | Pearland
7 | 722 hmm | blah | Sec. 5 | Bright Ridge | 612P | Pearland
8 | 723 hmm | blah | Sec. 5 | Bright Ridge | 612P | Pearland
9 | 111 asdf | fdas | Sec. 30 | Other Ridge | 650P | Pearland
10 | 123 asdf | fdas | Sec. 30 | Other Ridge | 650P | Pearland
例データと予想される出力を追加してください –
構文エラーがあります。それぞれの 'WHEN'節の後に、' CASE'式の最後に 'END'を置かないでください。 – Barmar
ケース内にコンマはありません – Uueerdo