プロジェクトの住所(郵便番号(zip)、名前、都市)でディーラーを検索する検索機能を開発しています。ユーザーには、検索語を入力するためのhtml入力フィールドが1つだけ提供されます(ユーザーは一度に1つの検索語のみを入力できます。つまり、郵便番号、名前、または都市のいずれかです(組み合わせは許可されません))。クエリを作成するための条件は次のとおりです。
- ユーザーが郵便番号で検索する場合、一致した結果は降順で表示される必要があります
- 名前が一致した結果でユーザーを検索する場合は、アルファベット順に表示する必要があります
- 都市名と同じ
名前に郵便番号が含まれている可能性がある場合もあります。その場合、結果は郵便番号で短縮する必要があります。
私はこのように試しました
select city, postcode, name
from dealers
where name ='xyz' OR
postcode ='xyz' OR
city='XYZ'
ORDER BY postcode desc
しかし、私はすべての条件に対して「ORDERBY」が必要です。たとえば、「xyz」は、結果を昇順で並べ替えたい名と一致します。どうやってやるの?