2011-02-03 7 views
2

ない私は、これらの二つのテーブル、アーティストやペンネームを持っている場合は、テーブルの1列を使用して結果をソートすることが可能である、アーティストbelongsToのペンネーム、それが空であるか、別のテーブルの列

結果をArtist.lastnameでソートします。彼はペンネームを持っている場合は、以下の例では、バルテュスはBACONとCHAGALの間にあるように今、ペンネームは彼の姓がK

Artist.Lastname  Pseudonym.name 
BACON 
KLOSSOWSKI   Balthus 
CHAGAL 
CEZANNE 

で始まっていても、使用されるべきことは、その仮想列を作ることが可能です空でない場合は擬似文字を持つか、または姓を持ち、その列をソートしますか?

SELECT ..... 
FROM Artists as a 
LEFT JOIN Pseudonyms as p ON (a.pseudonym_id = p.id) 
ORDER BY the_virtual_column 
+0

の可能な複製を(http://stackoverflow.com/questions/3550942/ can-you-add-if-statement-in-php-mysql-order-by) – ircmaxell

+0

まずは、ありがとうございます。私もリンクを確認します – kaklon

答えて

2
...ORDER BY COALESCE(p.name, a.Lastname) 
2

このお試しください:[?PHP MYSQL ORDER BYでの文の "if" あなたが追加することができます]

SELECT ..... 
    FROM Artists as a LEFT JOIN Pseudonyms as p 
    ON (a.pseudonym_id = p.id) 
ORDER BY COALESCE(p.name , a.Lastname) 
関連する問題