Используются 2 поля таблицы — title и state с названием и значением соответственно. Варианты значений поля state ограничены (от 1 до 4 ).
Как получить выборку чтобы в первой колонке было значение title а в следующих 4-х количество записей имеющих state=1,state=2 и т.д.
Используется BDE, таблица Paradox
Здравствуйте, Voidvi, Вы писали:
V>Используются 2 поля таблицы — title и state с названием и значением соответственно. Варианты значений поля state ограничены (от 1 до 4 ).
V>Как получить выборку чтобы в первой колонке было значение title а в следующих 4-х количество записей имеющих state=1,state=2 и т.д.
V>Используется BDE, таблица Paradox
Если не ошибаюсь, такое сделать на чистом SQL нельзя. Нужно либо использовать серверные расширения SQL, либо результат запроса на клиенте "обрабатывать".
Т.е. получаешь
select title, state, count(*) from your_table group by title, state
А потом на клиенте создаешь другой экзепляр рекордсета и заполняешь его как тебе нужно.
P.S. с BDE почти не работал, так что допускаю, что в нем есть какие-нибудь извращения, которые тебе помогут.
Здравствуйте, Voidvi, Вы писали:
V>Используются 2 поля таблицы — title и state с названием и значением соответственно. Варианты значений поля state ограничены (от 1 до 4 ).
V>Как получить выборку чтобы в первой колонке было значение title а в следующих 4-х количество записей имеющих state=1,state=2 и т.д.
V>Используется BDE, таблица Paradox
Можно в принципе нафантазировать такое:
select title, sum(if(state=1,1,0)), sum(if(state=2,1,0))), sum(if(state=3,1,0)), sum(if(state=2,1,0))
from your_fucking_table
group by title;
Но, признаться, я не знаком с Парадоксом

(вообще не знаю, есть ли там if,
и как он называется, хотя в принципе можно вместо него придумать что нибудь
другое), а тут многое зависит от СУБД.. Если такое не получится, попробуй
сначала создать view типа
select title, if(state=1,1,0), if(state=2,1,0), if(state=3,1,0), if(state=2,1,0)
from your_fucking_table
А потом уже группировать..