Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Отображение одного столбца таблицы в двух колонках грида  [new]
sha2000
Member

Откуда:
Сообщений: 3
Помогите разобраться с задачей. Имеется таблица oborot следующего вида:
 ---------------------
| kupl_prod | Sena |
|---------------------|
| К | 250,00 |
| К | 50,00 |
| П | 300,00 |
| К | 100,00 |
| П | 25,00 |
| П | 250,00 |
| П | 20,00 |
| П | 170,00 |
| К | 220,00 |
---------------------

Необходимо чтобы данные из таблицы oborot в грид отображались так:
В первом колонке грида - поле Sena, где kupl_prod = “К” а в втором колонке - поле Sena, где kupl_prod = “П”. Как это можно реализовать?
26 май 21, 06:47    [22327199]     Ответить | Цитировать Сообщить модератору
 Re: Отображение одного столбца таблицы в двух колонках грида  [new]
Redrik
Member

Откуда:
Сообщений: 825
sha2000,

или сначала:
SELECT kupl_prod,IIF(kupl_prod='К',sena,sena-sena) as kk, IIF(kupl_prod='П',sena,sena-sena) as pp FROM oborot


или IIF`ы прямо в GRID`e
26 май 21, 07:01    [22327202]     Ответить | Цитировать Сообщить модератору
 Re: Отображение одного столбца таблицы в двух колонках грида  [new]
sha2000
Member

Откуда:
Сообщений: 3
Redrik
sha2000,

или сначала:
SELECT kupl_prod,IIF(kupl_prod='К',sena,sena-sena) as kk, IIF(kupl_prod='П',sena,sena-sena) as pp FROM oborot


Redrik, спасибо.

Вот что получилось:
kupl_prodkkpp
К250.000.00
К50.000.00
П0.00300.00
К100.000.00
П0.0025.00
П0.00250.00
П0.0020.00
П0.00170.00
К220.000.00

А как сделать, чтоб был вот такой результат?
kkpp
250.00300.00
50.0025.00
100.00250.00
220.0020.00
0.00170.00


или IIF`ы прямо в GRID`e

IIF в колонках грида?

К сообщению приложен файл. Размер - 26Kb
26 май 21, 08:02    [22327210]     Ответить | Цитировать Сообщить модератору
 Re: Отображение одного столбца таблицы в двух колонках грида  [new]
Dima T
Member

Откуда:
Сообщений: 16063
sha2000
А как сделать, чтоб был вот такой результат?
kkpp
250.00300.00
50.0025.00
100.00250.00
220.0020.00
0.00170.00

Фокс не эксель, такие результаты не вписываются в реляционную теорию. Поэтому можно, но сложно.
* Создаешь курсор res с заполненными kk
SELECT sena as kk, sena-sena as pp FROM oborot where kupl_prod='К' into cursor res readwrite
* Перебираешь все записи исходной таблицы
sele oborot 
scan for oborot.kupl_prod = “П”
   ... заполняешь res.pp
endscan
26 май 21, 08:44    [22327221]     Ответить | Цитировать Сообщить модератору
 Re: Отображение одного столбца таблицы в двух колонках грида  [new]
sha2000
Member

Откуда:
Сообщений: 3
Dima T

Спасибо!
27 май 21, 13:47    [22327957]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить