0
お客様の電子メールアドレスと電話番号に関する情報がありますが、データはさまざまなテーブルに保存され、顧客ごとに複数の行が表示されます。複数行の情報を1行に入力
私はemailIとphonenumberに参加する必要があるcustomerIdなどの私のメインテーブルを持っています。これを行うには、テーブルを接続するcommunication_idを持つ「変換」テーブルがあります。例えば
メインテーブル:
CustomerID var1 var2 ...
123 1 7
私はこの
CustomerID CommID
123 780
123 781
123 782
ような電子メールや携帯電話の外観を含んでいるテーブルとメインテーブルを接続するために使用する必要がある変換テーブル
メールの表はこのように見えます
commID email
780 [email protected]
と電話番号を持つテーブルには、私は私が私のメインテーブルに上記の3つのテーブルを結合する左の場合、私が得る理由
CustomerID var1 var2 email phone
123 1 7 [email protected] ?
123 1 7 ? 88888
123 1 7 ? ?
である私が理解し得るものをこの
commID phone
781 88888
ようになります。 3行が、何私が達成したいことは、この
CustomerID var1 var2 email phone
123 1 7 [email protected] 88888
のような単一の行はあなたに EDIに感謝ですT:
結合構文を使用するには、通常、GROUP BYを行う一つに複数の行を結合するには
sel * from maintable
left join Communication on maintable.CustomerID=Communication.CustomerID
left join email on email.commID=Communication.CommID
left join phone on phone.commID=Communication.CommID
実際のJOIN構文は何ですか?あなたは3行を取得してはならないし、3つではなく、5つのテーブル(または* 7つ)に参加する必要があります。 – LSerni
申し訳ありません私は間違いをしました。私は電子メールと電話のテーブルにCustomerIDを持っていません。ジョイン構文は、maintableからsel * left join maintable.CustomerIDでの通信:Communication.CustomerIDはemail.commIDで電子メールに参加しました= Communication.CommIDはphone.commID = Communication.CommIDに参加電話を残しました – IDDQD
複数の電子メールアドレスが存在する可能性はありますか(すなわち、CommID値= 782のレコードは、電子メールまたは電話番号テーブルのいずれかの2番目のレコードを参照することができます)。もしそうなら、結果はどうあるべきですか? – PaulF