MySQL: обновить все строки в таблице, соответствующие результатам другого запроса

Я написал запрос, возвращающий строки, связывающие клиентов и продавцов .

Обратите внимание, что запрос объединяет несколько таблиц базы данных. Обратите внимание, что не у всех клиентов есть продавец.

c_id     c_name   s_id   s_name
  24  microsoft      1     mike
  27        sun      1     mike
  42      apple      2     bill
  44     oracle      1     mike
  47        sgi      1     mike
  58       ebay      2     bill
  61     paypal      3      joe
  65     redhat      1     mike

У меня также есть одна таблица (называемая invoices ) в моей базе данных, которая выглядит следующим образом.

i_id   c_id   c_name   s_id   s_name
7208     22   toyota   NULL     NULL
7209     23     ford   NULL     NULL
7210     27      sun   NULL     NULL
7211     42    apple   NULL     NULL
7212     12   nissan   NULL     NULL
7213     15       gm   NULL     NULL
7214     61   paypal   NULL     NULL

Как я могу использовать UPDATE в MySQL, чтобы моя таблица счетов выглядела как таблица ниже?

i_id   c_id   c_name   s_id   s_name
7208     22   toyota   NULL     NULL
7209     23     ford   NULL     NULL
7210     27      sun      1     mike
7211     42    apple      2     bill
7212     12   nissan   NULL     NULL
7213     15       gm   NULL     NULL
7214     61   paypal      3      joe

То есть, как я могу обновить свою таблицу счетов-фактур, чтобы включить правильные salesperson_id и salesperson_name, если эта связь существует?

Обратите внимание, что там, где существуют отношения "Клиент / Продавец", все счета-фактуры для этого клиента должны иметь продавца, связанного с это, если для этого покупателя есть продавец.

Спасибо: -)

16
задан Juan Mellado 1 May 2012 в 14:44
поделиться