|
Запрос
| ☑ |
0
VVVvvv
06.08.13
✎
17:55
|
Здравствуйте!
Следующий вопрос по запросу:
Имею две таблицы:
Первая - номера недель
Вторая - объекты, по которым есть движения и номера недель. Т.е. таблицы следующего вида:
Первая:
1
2
3
4
5
Вторая
2 Вологда 1000
4 кострома 500
5 Кострома 600
5 Липецк 800
1 Сестрорецк 100
Как мне запросом получить движение по каждому объекту на каждую неделю из перво таблицы?
Т.е Вологда 0 1000 0 0 0
Кострома 0 0 0 500 600
Липецк 0 0 0 0 800
Сестрорецк 100 0 0 0 0
|
|
1
VVVvvv
06.08.13
✎
17:55
|
Текст запроса -
ВЫБРАТЬ
ВтНедели.Неделя КАК Неделя,
ЕСТЬNULL(ВтОплаты.ОбъектПоставка, "") КАК ОбъектПоставка,
СУММА(ЕСТЬNULL(ВтОплаты.Сумма, 0)) КАК Сумма,
СУММА(ЕСТЬNULL(ВтОплаты.ПланируемаяСумма, 0)) КАК ПланируемаяСумма
ИЗ
ВтНедели КАК ВтНедели
ЛЕВОЕ СОЕДИНЕНИЕ ВтОплаты КАК ВтОплаты
ПО ВтНедели.Неделя = ВтОплаты.Неделя
СГРУППИРОВАТЬ ПО
ВтНедели.Неделя,
ЕСТЬNULL(ВтОплаты.ОбъектПоставка, "")
УПОРЯДОЧИТЬ ПО
ОбъектПоставка,
Неделя
У меня не выбираются номера недель по объекту, если обороты = 0
|
|
2
Ёпрст
06.08.13
✎
17:57
|
не угадал.. тебе нужен разворот вправо, т.е количество полей в выбрать столько, сколько строк в первой табличке
|
|
3
VVVvvv
06.08.13
✎
17:59
|
Немного не понял
|
|
4
xypc
06.08.13
✎
18:00
|
точно не знаю, но мне кажется что нужно связь по регистратору
|
|
5
Ёпрст
06.08.13
✎
18:01
|
вот именно такую табличку
Вологда 0 1000 0 0 0
Кострома 0 0 0 500 600
Липецк 0 0 0 0 800
Сестрорецк 100 0 0 0 0
Тогда должно быть
Выбрать
Город
,ДеньНедели1
,ДеньНедели2
,ДеньНедели3
,ДеньНедели4
,ДеньНедели5
.....
,ДеньНеделиN
|
|
6
VVVvvv
06.08.13
✎
18:04
|
У меня недели выбираются отдельным запросом.
|
|
7
VVVvvv
06.08.13
✎
18:14
|
Все, спасибо!
Создал еще одну таблицу со всеми объектами, потом объенинил недели и объекты полным соединением, а потом уже связа с последней таблицей)
|
|