2017-11-05 7 views
0

を入力したのと同じ順序でSQL答えを得ます。それは私がDBからの曲のリストを取得しようとしています

私は、クエリ行にID'S(パーマリンク)の配列を送信していると私は、戻り値は、私は、配列に与えたのと同じ順序になりたいです。それを行う方法はありますか?

function getByPermalinks (permalinks, callback) { 
var template = 'select video_digests.*, permalinks.redirect' + 
    'FROM video_digests ' + 
    'RIGHT JOIN permalinks on permalinks.internal_id = video_digests.media_key WHERE permalinks.permalink in (?)'; 

db.query(
    template, 
    [permalinks], 
    onGotVideos.bind(exports, callback) 
); 

}

+0

ケースステートメントで注文してください。 video_digestにないパーマリンクにアイテムがある場合、video_digestからnullが返されることがあります。句by' '順序なし' SELECT'の –

+0

結果がun-命じている:彼らは何も(明らかに)要求がすぐに繰り返されても変化しなかった場合でも、変更される可能性があります。特定の順序を取得するには、 'order by'節を適用します。 – Richard

+0

@ P.SalmonとRichardは返事に感謝します。私はorder by節が必要であることをよく承知していますが、必要な順序は配列の順序です。 DBからの応答には、必要に応じてソートできる値はありません。 – utabmedia

答えて

0

あなたは違いにより、注文することができます。差の値は、類似性の場合は0であり、そうでない場合は1である。だから、c1 <> v1によって順序が最初の試合は、そのc1v1値を持つレコードがあることを意味します。類似点の場合、c2 <> v2などの場合は2番目の基準が使用されます。

order by c1 <> v1, c2 <> v2, c3 <> v3 
+0

こんにちは@Lajosアルパド私は彼らに注文することができるようにするために、あなたは、結果として、パーマリンクを返す必要はありません@utabmediaパーマリンク – utabmedia

+0

を含まない再同調アレイと列を使用していますので、どのように私はあなたのソリューションを実装することができわかりません。あなたの基準に一致するペアを見つけることができます、あなただけでも同様にこれを使用する必要があります。あなたの終わりにpermalinks.permalink <> yourvalue1、permalinks.permalink <> yourvalue2順が必要になります@utabmediaあなたの助けを –

+0

感謝の、残念ながら私のSQLの理解があなたのソリューションを理解し、実装する十分ではない..です – utabmedia

関連する問題