2016-04-28 31 views
0

シンプルかもしれませんが、できません。 IDの結果を表示するクエリselect * from mytable where id in (2, 2,2,5, 11);を表示できますか。クエリの反復に従って結果を繰り返す必要があります。Mysql繰り返しで複数のIDを取得するクエリ

+0

あなたが今まで試したことを私たちに教えてください – dimlucas

+1

データストレージとデータストレージの問題を混同しているようです。表示の問題は、プレゼンテーションレイヤー/アプリケーションレベルのコード(PHPのビットなど)で最もよく処理されます。 – Strawberry

+0

@dimlucas商品を選択して数量を入力する必要があります。これらの製品の詳細を個別に編集できるように、それらの製品すべてを表示する必要があります。 –

答えて

0

私はあなたが何を望んでいるのか分かりません。 id = 2の行を3回取得したいですか?もしそうなら、StrawberryのようなSQLクエリの外で行うのが最善です。

にはをSQLで作成する場合は、リストからユニオンを使用してIDテーブルを作成し、それをmytableに参加させることができます。このような何か:

SELECT t.* 
FROM (SELECT 2 AS id UNION ALL 
     SELECT 2 AS id UNION ALL 
     SELECT 2 AS id UNION ALL 
     SELECT 5 AS id UNION ALL 
     SELECT 11 AS id) AS j 
INNER JOIN mytable t ON t.id = j.id 
0

あなたがモデルで作業する必要がある場合は、この構文を使用することができ、与えられた配列に含まれるidを持つオブジェクトのコレクションを取得しました。生のクエリで

DB::table('tblname')->whereIn('id', [1, 2, 3]) 

:クエリビルダで

Model::findMany([2,2,2,5,11]); 

DB::select('select * from tblname where id in ('.implode(',', [1,2,3]).')'); 

しかし、なぜあなたは、重複したIDが必要ですか?アレイ内の複製をクリーンアップします。

$array = [1,1,1,2,3]; 
$array = array_unique($array); 
関連する問題