![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вроде связанный запрос что-ли.. Не могу сообразить [MSSQL]
забылпароль © (2009-03-04 17:19:00)ПРОДУКТы продаются и записи остаются в ЖУРНАЛе
ПРОДУКТ имеет Измерение (шт, кг и т.п.)
-- FK_Journal_Product т.е. один продукт во многих журналах
(Еще есть ДОКУМЕНТы, они тоже входят в ЖУРНАЛ (FK_Journal_Document т.е. один документ во многих журналах), но это не важно)
Зачем-то в ЖУРНАЛе тоже введено поле Измерение
Кривая программа дает туда поставить любому продукту любое измерение. Что операторы и делают.
Надо исправлять..
1.
Запрос на поиск несоответствий
select distinct
P.Article, P.measure, J.measure
from
product as P
join Journal as J on J.Product = P.Product
join document as D on D.Document = J.Document
where
P.measure <> J.Measure
and D.DateTime > '01.01.2009' -- исключительно чтоб недолго ждать. ДОКУМЕНТЫ вообще надо исключить потом
....
2101050003244 1 2
2101050012895 1 2
2101050013939 1 2
.... и т.п.
2.
Исправляю один
update journal
set measure = 1
where
product = (select product from product where article='2101050003244')
and measure = 2
--------------------
Q Помогите, пожалуйста, составить запрос так, чтоб J.measure стал равным P.measure
(могу написать программку (или курсор положить), пробежать по P.Article и каждому сделать >>Исправляю один
только что-то кажется можно одним запросом сделать)
Ega23 (2009-03-04 17:25:00) [21]Писал как-то одну системку для дилерской конторы.
продукты в магазин заказывались в "упаковке" - упаковка йогуртов, упаковка молока, и т.п. Для разных продуктов - разное количество штук в упаковке. Но магазин мог вернуть из упаковки в 24 штуки товара 3 штуки товара (побились-помялись при транспортировке, например).
Так что ты зря так сходу кидаешься на этот журнал. Узнай сначала, для чего это нужно и как операторы это используют (если используют).