2016-11-03 7 views
0

表を表示するには、私はこのようなMySQLのクエリ、またはプロシージャ、または関数を使用して結果を表示するこの一つのグループのためのMySQLのクエリと残り

component maincomponent subcomponent 
5000   5001    5010 
5000   5001    5011 
5000   5002    5015 

のように見えます。データはhtmlテーブルに表示されるので、テーブルの最初の行は次のようになります。つまり、すべてのコンポーネント、メインおよびサブコンポーネントがコンポーネントの下に表示されます。

Components: 
5000 
5001 
5010 
5011 
5002 
5015 
+0

私はあなたが望むものを理解していません。あなたのサンプル出力には3ではなく1つの列しかありません。 – Barmar

+0

あなたがしようとしていることを理解していれば、SQLではなく結果を表示するためにどの言語で行った方が良いでしょう。最初の行の – Barmar

+0

私はフルーツ、2列目のリンゴ、3番目の行の甘い、マンゴーとverysweetよりグループ化したい。私はPHPを使用しています。これはcol1、col2に同じ値を挿入できる表ですが、col3は異なります。アドバイス私はPHPでそれをしたい場合 – Muhabutti

答えて

0

あなたはUNIONオペレータを探しています。あなたが提供したデータを使用して、所望の結果を達成するために次の操作を行うことができます。これは、以下を返します

SELECT col1 FROM fruit 
UNION 
SELECT col2 FROM fruit 
UNION 
SELECT col3 FROM fruit 

fruit 
apple 
mango 
sweet 
notsweet 
verysweet 
+0

これは正しい結果の順序ではありません。 'apple 'には' col3'値の両方が続き、 'mango'には' col3'値が続きます。 – Barmar

+0

注文が重要な場合は、上記のBarmarのコメントに同意します。データベースを照会し、PHPを使用して適切に表示します。 – BakerStreetSystems

+0

"SELECTコンポーネント、メインコンポーネント、GROUP_CONCAT(サブコンポーネント、 '、'、コンポーネント順のテキスト順)ASのFROM診断GROUP BYコンポーネント")PHP $ string =(implode( '、'、(array)$ c-> stより)); $ val =(explode( '、'、$ string)); foreach($ val as $ value){ echo '
'。$ value。 '
'; } – Muhabutti

関連する問題