2009-07-23 12 views
0
、ORDER BYを使用して複数の列で

を注文私はこのようなI種のフィールドによるMySQLのクエリを持っている:問題FIELD

$ idsJoin2は、このようなものである
"... WHERE (patterns.id IN($idsJoin)) $where 
         ORDER BY FIELD($idsJoin2) LIMIT 0 , $numLines"; 

my $idsJoin = join(',',@ids); 
my $idsJoin2="patterns.id, ".$idsJoin; 

とは、「それは私がで注文したい数字の配列です@ids

事$ idsJoin2により注文後、私はこのように、別の列で注文したいということです。

"WHERE (patterns.id IN($idsJoin)) $where 
         ORDER BY FIELD($idsJoin2), products.product, versions.version, builds.build LIMIT 0 , $numLines"; 

私は列がフィールドでORDER前に、それはすべての問題とそれらによってソートし、彼らは私が欲しいものであるFIELD、ORDER BYの後であれば、それはちょうどそれらを無視し、ちょうどBY ORDERによってソートすることを置く場合FIELDステートメント

なぜこれが起こっているのか分かりません。何か案が?ありがとう。

+0

こんにちは、誰もがこれで私を助けることができますか?質問が明確でない場合は、私に教えてください。私はそれをよりよく説明しようとします。ありがとう。 –

答えて

0

$idsJoin2にIDを追加する理由を教えてください。その列で注文したい場合は、'patterns.id'でなければなりませんか?