2017-02-22 5 views
0

SQLで複雑なselect文のヘルプが必要です。私はここでこの二つのテーブルを持っている:SQL selectでselectを選択

表のユーザー:

enter image description here

表のcontacts_from_user:

enter image description here

私は、複数の取得

SELECT name, vorname, gebdat, bezeichnung, wert 
FROM user 
    JOIN contacts ON u_id = user_u_id 

選択を行うと1行ユーザー彼はもっとして一つのコンタクトオプションがありますが、私はちょうど1行でそれを配置する必要がありますので:

enter image description here

行は次のようになりますする必要があります:

name, vorname, gebdat, bezeichung_1, wert_1, bezeichnung_2, wert_2.......

私はこれをどのように行うCA?

ありがとうございます!擬似コードで

+0

を使用すると、1つの行が含まれているために何を希望ですか?それは名前か、生まれたか、gebdatか、bezeichung_1か、wert_1か、bezeichnung_2か、wert_2 .... bezeichnung_n、wert_nですか? 最初の連絡先オプションを表示するだけですか? – paqash

+0

はいあなたからの線の例が正しいです!私は私の質問にそれを追加することを忘れました。私は今これを行うでしょう –

+0

これを見て:https://stackoverflow.com/questions/1067428/combine-multiple-child-rows-into-one-row-mysql – paqash

答えて

0

、このようなシナリオに対処するための最良の方法は次のとおりです。

query = SELECT A.ID, A.stuff, B.stuff FROM A JOIN B ON A.ID = B.A_ID 
results = run query 
prev_A_ID = impossible_A_ID 
for each result 
    if prev_A_ID not equal result_A_ID 
     create new A and set as current A 
    add B.stuff to current A 
    set prev_A_ID to result_A_ID 
end for 
+0

学校のプロジェクトにはこれが必要です明日 –

関連する問題