
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
11.03.2006, 13:11
|
|||
|---|---|---|---|
Sql - запрос |
|||
|
#18+
Существует таблица Cens содержащая поля: Numrec — ID записи; RodId — ID родительской записи (связь один ко многим); ItemId — ID товара; Cena — цена товара; Поле RodId может принимать 4 значения (1 — закупочный прайс, 2 — оптовый, 3 — мелкооптовый, 4 — розничный). Нужно сделать один селект, представляющий таблицу Cens в следующем виде: ItemId — ID товара Cena1 — цена закупочная или 0 в случае отсутствия цены на товар в закупочном прайсе Cena2 — то же для оптовой цены; Cena3 — то же для мелкооптовой цены; Cena4 — то же для розничной цены; В таблице несколько записей Numrec RodId ItemId Cena 1 1 1 10 2 2 1 20 3 1 2 5 Должно получиться: ItemId Cena1 Cena2 Cena3 Cena4 1 10 20 0 0 2 5 0 0 0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.03.2006, 16:16
|
|||
|---|---|---|---|
Sql - запрос |
|||
|
#18+
http://www.sql.ru/faq/faq_topic.aspx?fid=358 Что-то такое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.03.2006, 16:26
|
|||
|---|---|---|---|
Sql - запрос |
|||
|
#18+
Совсем не то. Решаться должно одним запросом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.03.2006, 16:31
|
|||
|---|---|---|---|
Sql - запрос |
|||
|
#18+
ponuchСовсем не то. Решаться должно одним запросом. На любом сервере, одним запросом? Не знаю такого. В MS Jet SQL (Access то есть) есть такая возможность - TRANSFORM :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.03.2006, 16:40
|
|||
|---|---|---|---|
|
|||
Sql - запрос |
|||
|
#18+
ponuchСуществует таблица Cens содержащая поля: Numrec — ID записи; RodId — ID родительской записи (связь один ко многим); ItemId — ID товара; Cena — цена товара; Поле RodId может принимать 4 значения (1 — закупочный прайс, 2 — оптовый, 3 — мелкооптовый, 4 — розничный). Нужно сделать один селект, представляющий таблицу Cens в следующем виде: ItemId — ID товара Cena1 — цена закупочная или 0 в случае отсутствия цены на товар в закупочном прайсе Cena2 — то же для оптовой цены; Cena3 — то же для мелкооптовой цены; Cena4 — то же для розничной цены; В таблице несколько записей Numrec RodId ItemId Cena 1 1 1 10 2 2 1 20 3 1 2 5 Должно получиться: ItemId Cena1 Cena2 Cena3 Cena4 1 10 20 0 0 2 5 0 0 0 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.03.2006, 16:45
|
|||
|---|---|---|---|
|
|||
Sql - запрос |
|||
|
#18+
Код: plaintext 1. 2. 3. Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.03.2006, 17:09
|
|||
|---|---|---|---|
Sql - запрос |
|||
|
#18+
ponuch Должно получиться: ItemId Cena1 Cena2 Cena3 Cena4 1 10 20 0 0 2 5 0 0 0 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.03.2006, 18:35
|
|||
|---|---|---|---|
Sql - запрос |
|||
|
#18+
что-то все какие-то навороченные варинаты предалагают... так пойдет? Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.03.2006, 08:55
|
|||
|---|---|---|---|
Sql - запрос |
|||
|
#18+
что-то я переборщил... предыдущий вариант лучше переписать так: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.03.2006, 00:42
|
|||
|---|---|---|---|
Sql - запрос |
|||
|
#18+
эта кросстаб. Делать надо на клиенте, например, в Crystall-report. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.03.2006, 10:49
|
|||
|---|---|---|---|
Sql - запрос |
|||
|
#18+
Большое спасибо за ответы. Вот еще рабочий вариант (с RSDN) select DISTINCT ItemId, (select sum(Cena) From prices Where ItemId = T.ItemId AND RodId =1 ) as PRICE1, (SelecT sum(Cena) From PRICES Where ItemId = T.ItemId and RodId =2) as PRICE2, (SelecT sum(Cena) From PRICES Where ItemId = T.ItemId and RodId =3) as PRICE3, (SelecT sum(Cena) From PRICES Where ItemId = T.ItemId and RodId =4) as PRICE4 From Cens T Проверял в IbExpert и еще select ItemId, sum(case RodId when 1 then Cena else 0 end) as Cena1, sum(case RodId when 2 then Cena else 0 end) as Cena2, sum(case RodId when 3 then Cena else 0 end) as Cena3, sum(case RodId when 4 then Cena else 0 end) as Cena4 from Cens group by ItemId тоже рабочий. В общем задача решена всем спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=32&mobile=1&tid=1545368]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
229ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 254ms |
| total: | 583ms |

| 0 / 0 |
