09.01.2020 13:26
УКМ4+стандартный экспорт 4
Вопрос дурацкий, но ответ не нашел
Таблицы receipt и reciept_item связаны по cash_id и id (receipt_header).
Запрос вида
SQL код:
SELECT a.cash_id,a.id,b.date,b.cash_number,b.local_number,a.item,a.name,a.stock_id,a.stock_name,b.ext_processed,b.ext_inomarki FROM receipt_item a
  LEFT JOIN receipt b ON (a.cash_id=b.cash_id AND a.receipt_header=b.id)
  WHERE a.stock_id<>1 AND 
  a.item IN 
(51,еще куча артикулов,776124); 
показывает то что надо изменить.
А изменить надо
receipt_item.stock_id, receipt_item.stock_name
и, в соответствующих строках receipt-а
ext_processed и ext_inomarki.
Сейчас делаю тремя запросами.
Первый:
SQL код:
UPDATE receipt a, receipt_item b
  SET a.ext_processed=999,
      a.ext_inomarki=999
WHERE a.cash_id=b.cash_id
  AND a.id=b.receipt_header
  AND b.stock_id<>1
  AND b.item IN 
(51,еще куча артикулов,776124) 
Второй:
SQL код:
UPDATE receipt_item a
  SET a.stock_id=0,
      a.stock_name="Магазин"
WHERE
    a.stock_id<>1
  AND a.item IN 
(51,еще куча артикулов,776124) 
ну и третий:
SQL код:
UPDATE receipt SET 
  ext_processed=0,
  ext_inomarki=0
  WHERE ext_processed=999; 
И кажется мне, что все изменения можно сделать одним "хитрым" UPDATE-ом.
Можно?
09.01.2020 14:02
Что-то не пойму, почему вам в первом-же запросе не поменять обе таблицы?

SQL код:
 UPDATE receipt a, receipt_item b
   SET a.ext_processed=0,
       a.ext_inomarki=0,
       b.stock_id=0,
       b.stock_name="Магазин"
WHERE ... 
Часовой пояс GMT +3, время: 03:29.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.