|
|
|
Занимательная задачка.
|
|||
|---|---|---|---|
|
#18+
есть талица tab1 - КодЦены-ИмяЦены заполнена 1 - Цена0 2 - Цена1 есть таблица tab2 - КодТовара-Цена0-Цена1 заполнена 104-23,5-24,5 108-21,3-29,3 надо получить таблицу tab3 - КодТовара-КодЦены-Цена заполнена 104-1-23,5 104-2-24,5 108-1-21,3 108-1-29,3 подскажите как осуществить сей маневр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2003, 14:10 |
|
||
|
Занимательная задачка.
|
|||
|---|---|---|---|
|
#18+
На первый взгляд так select КодТовара, 1 as КодЦены, Цена0 as Цена from tab2 union select КодТовара, 2 as КодЦены, Цена1 as Цена from tab2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2003, 14:16 |
|
||
|
Занимательная задачка.
|
|||
|---|---|---|---|
|
#18+
2 incold :) не. не то. надо код цены брать из таблицы tab1. (их там на самом деле много) причем они не подряд идут. это я для примера написал попроще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2003, 14:19 |
|
||
|
Занимательная задачка.
|
|||
|---|---|---|---|
|
#18+
У тебя что значения полей в одной таблице соответствуют записям в другой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2003, 14:23 |
|
||
|
Занимательная задачка.
|
|||
|---|---|---|---|
|
#18+
да. именно так ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2003, 14:24 |
|
||
|
Занимательная задачка.
|
|||
|---|---|---|---|
|
#18+
У меня было что-то подобное, я использывал функцию DLookUp(...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2003, 14:24 |
|
||
|
Занимательная задачка.
|
|||
|---|---|---|---|
|
#18+
Я хотел сказать названия полей соответсвуют записям ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2003, 14:24 |
|
||
|
Занимательная задачка.
|
|||
|---|---|---|---|
|
#18+
А база какая SQL или MDB? Потому как разные решения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2003, 14:29 |
|
||
|
Занимательная задачка.
|
|||
|---|---|---|---|
|
#18+
adp + sql server 2000 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2003, 14:31 |
|
||
|
Занимательная задачка.
|
|||
|---|---|---|---|
|
#18+
Совершенно непонятно, по какому принципу надо заполнять КодЦены. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2003, 14:31 |
|
||
|
Занимательная задачка.
|
|||
|---|---|---|---|
|
#18+
c le,f gflf.n kbcnmz zctyz! jukzltkcz z - b ltqcndbntkmyj kbcnmz gflf.n J[ ebntkmyj ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2003, 14:32 |
|
||
|
Занимательная задачка.
|
|||
|---|---|---|---|
|
#18+
2 Владимир Саныч надо взять название столбца в tab2 найти это имя в tab1 столбце ИмяЦены взять соответствующий КодЦены ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2003, 14:34 |
|
||
|
Занимательная задачка.
|
|||
|---|---|---|---|
|
#18+
Ясно. У меня такая задачка была, но потом я отказался от хранения в таком виде и перешел к нормальному виду. Решение такое (немного корявое): Мне нужен был отчет и делал его на ХП. В ХП Цикл по полям таблицы Код, Цена1, Цена2, .... Цикл либо на системной таблице, либо на вьюшке из серии INFORMATION_SCHEMA и формирование динамического селекта с юнион. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2003, 14:38 |
|
||
|
Занимательная задачка.
|
|||
|---|---|---|---|
|
#18+
1. Тогда в исходном примере ошибка. 4-я строка должна быть 108-2-29,3 2. И тогда прав incold, только будет цикл: select КодТовара, 1 as КодЦены, Цена0 as Цена from tab2 union select КодТовара, 2 as КодЦены, Цена1 as Цена from tab2 union ... union select КодТовара, N as КодЦены, Цена (N-1) as Цена from tab2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2003, 14:57 |
|
||
|
Занимательная задачка.
|
|||
|---|---|---|---|
|
#18+
2 Владимир Саныч да четвертая строка д.б. 108-2-29,3 (сорри) >select КодТовара, 2 as КодЦены, Цена1 as Цена from tab2 не пойдет. т.к. в таблице tab1 м.б. КодЦены=4 а Название=ЦенаОпт я привел просто пример с Цена0, Цена1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2003, 15:06 |
|
||
|
Занимательная задачка.
|
|||
|---|---|---|---|
|
#18+
Пардон. select tab2.КодТовара, N as КодЦены, tab1.ИмяЦены as Цена from tab2, tab1 where tab1.КодЦены= N ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2003, 15:10 |
|
||
|
Занимательная задачка.
|
|||
|---|---|---|---|
|
#18+
>tab1.ИмяЦены as Цена в качестве цены должно быть число из столбца с именем ИмяЦены!!! как это сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2003, 15:22 |
|
||
|
Занимательная задачка.
|
|||
|---|---|---|---|
|
#18+
Ну тогда так Цикл по записям select ИмяЦены from tab1 group by ИмяЦены в переменную @perem в цикле формирование запроса @str= 'select КодТовара, '+@perem+' as Цена from tab2' + union и т.д. ну дальше то сам сможешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2003, 15:37 |
|
||
|
Занимательная задачка.
|
|||
|---|---|---|---|
|
#18+
2 incold большое сенкс :) в принципе я так и думал. еще один момент: а код цены как? в Ас есть dlookup, в принципе можно им, а в adp? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2003, 15:42 |
|
||
|
Занимательная задачка.
|
|||
|---|---|---|---|
|
#18+
Код цены можно тоже в переменную (в том же цикле) Т.е. @str= 'select КодТовара, '+@perem+' as Цена, '+@perem2+' as КодЦены ' from tab2' P.S. А ты че собираешься все это на клиенте писать, через рекордсет? Делай лучше ХП. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2003, 15:55 |
|
||
|
Занимательная задачка.
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2003, 15:56 |
|
||
|
Занимательная задачка.
|
|||
|---|---|---|---|
|
#18+
дык я и хочу ХП объясняю только туго :) кстати, спрошу еще один момент. в ХП чтобы выдергивать по строке обязательно надо курсор лепить? или можно из обычного селекта? p.s. сорри за возможно тупые вопросы, ибо начинающий скулист. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2003, 15:58 |
|
||
|
Занимательная задачка.
|
|||
|---|---|---|---|
|
#18+
2 Павел Воронцов спасибо за напряжение мозга, но дело в том, что соответсвия между номером цены и ее именем нету! поэтому написать when 1 then g.price0 не могу. не знаю я к какому столбцу надо обратиться. узнать это можно только в tab1. Блин третий раз это говорю. хреновый из меня объяснятель :) попробую привести другой пример, может так понятней будет. tab1 КодЦены-ИмяЦены 1-ЦенаОпт 2-ЦенаРозн 3-ЦенаДляВани tab2 КодТовара-ЦенаОпт-ЦенаДляВани-ЦенаРозн 115-15,26-18,25-10,33 119-68,10-69,10-65,11 надо получить tab3 КодТовара-КодЦены-Цена 115-1-15,26 115-2-10,33 115-3-18,25 119-1-68,10 119-2-65,11 119-3-69,10 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2003, 16:05 |
|
||
|
Занимательная задачка.
|
|||
|---|---|---|---|
|
#18+
Имхо, курсор все равно придется писать (а чем не нравится?) А вообще, опять же имхо, нужно делать все по-другому - tab2 лишняя нужно все хранить в виде tab3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2003, 16:10 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32279699&tid=1679127]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
20ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 318ms |

| 0 / 0 |
