2016-04-11 10 views
0

私はテーブル 'orderbyの'MySQLの順

+-----------------+ 
| id | data  | 
+-----------------+ 
| 1 | 4,2,5,6 | 
+-----------------+ 

と第二のテーブルデータ

+-----------+ 
| id | ... | 
+-----------+ 
| 2 | ... | 
+-----------+ 
| 4 | ... | 
+-----------+ 
| 5 | ... | 
+-----------+ 
| 6 | ... | 
+-----------+ 

を持って、私はORDERBYによってデータテーブルをソートしたいテーブルのデータ列。このような

+-----------+ 
| id | ... | 
+-----------+ 
| 4 | ... | 
+-----------+ 
| 2 | ... | 
+-----------+ 
| 5 | ... | 
+-----------+ 
| 6 | ... | 
+-----------+ 

私はこのクエリを試してみました:select * from data order by field(id,(select group_concat(data) from orderby))

ではなく、作品。

答えて

0

dataテーブルに列orderby INT UNSIGNEDを追加し、数字を使用して正しい注文を得ることをお勧めします。

注文に依存する必要がある場合は、ユーザーID、データID(dataテーブル)とorderbyの値を持つ別のテーブルを使用する必要があります。

コード内で使用している値のorderbyを1つ入力しても機能しません。 (可能かもしれませんが、実装するのが難しく、うまく動作しないと思います)