1

データが繰り返される空のフィールドを取得する必要があります

たとえば、顧客には 2 人以上の担当者がいる可能性があるため、クエリは次のように返します (qyery resul を短縮しただけです)。

CUSTOMER_NAME| CONTACT_PERSON|ETC..

  dell         |    Ighor      |etc..
  dell         |    Dima       |etc..

しかし、私は必要です : CUSTOMER_NAME| CONTACT_PERSON|など...

             dell         |    Ighor      |etc..
             NULL         |    Dima       |etc..


SELECT
             `contact`.*,
                 `branch_has_equipment`.*,
             `branch_has_contact`.*,
                         `equipment`.*,
                         `customer_has_branch`.*,
                         `branch`.*,
                         `customer`.*,
              `ip`.*

                 FROM `customer`
                 INNER JOIN `customer_has_branch`
                         ON `customer`.`customer_id` = `customer_has_branch`.`customer_id`
                 INNER JOIN `branch`
                         ON `customer_has_branch`.`branch_id` = `branch`.`branch_id`
                 INNER JOIN `branch_has_equipment`
                         ON `branch`.`branch_id` = `branch_has_equipment`.`branch_id`
                 INNER JOIN `equipment`
                         ON `branch_has_equipment`.`equipment_id` = `equipment`.`equipment_id`
                 INNER JOIN `branch_has_contact`
                         ON `branch`.`branch_id` = `branch_has_contact`.`branch_id`
                 INNER JOIN `contact`
                         ON `branch_has_contact`.`contact_id` = `contact`.`contact_id`

                INNER JOIN `equipment_has_ip`
                        ON `equipment`.`equipment_id` = `equipment_has_ip`.`equipment_id`
                INNER JOIN `ip`
                        ON `equipment_has_ip`.`equipment_id` = `ip`.`ip_id`  

                 WHERE `customer`.`inservice` = 'Yes'
                         ORDER BY `customer`.`customer_name`

さらに、テーブル ^

お客様

customer_id customer_name インサービス service_type コメント

ブランチ

branch_id 都市住所

装置

equipment_id ブランド モデル connection_param connection_type serial_number id release

コンタクト

contact_id name 名字 phone_mobile phone_work phone_other position

customer_has_branch_id customer_id branch_id

4

2 に答える 2

0

これらのテーブルが互いにどのように関連しているのかわからないので、OUTER JOINNULL の結果を保持する を使用するのが私の唯一の答えです。

于 2013-03-19T15:25:02.990 に答える