Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите с запросом / 25 сообщений из 39, страница 1 из 2
13.04.2004, 12:34
    #32478876
Запрос
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
Есть табличка

ID NAME (varchar) TYPE(integer)
1 Название1 0
2 Название2 0
3 Название3 0
4 Название4 1

Надо составить запрос, чтоб получилось

NAME NAME
Название1 Название4
Название2 null
Название3 null

т.е. чтобы в первом поле были названия с типом 0, а во втором названия
с типом 1.
...
Рейтинг: 0 / 0
13.04.2004, 12:43
    #32478895
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
Как-то что-то не так в консерватории (судя по постановке задачи)...
Отдельная табличка с типами (TYPE) есть, или нету?
От этого зависит запрос.
...
Рейтинг: 0 / 0
13.04.2004, 12:44
    #32478899
Dnico
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
Код: plaintext
1.
SELECT T1.NAME, T2.NAME FROM TABLE T1 LEFT JOIN TABLE T2 ON (T2.TYPE = T1.ID AND T2.TYPE =  1 ) WHERE T1.TYPE =  0 


Best regards,
Dnico.
Best regards,
Dnico.
...
Рейтинг: 0 / 0
13.04.2004, 13:19
    #32479010
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
А ведь фигня запрос.
...
Рейтинг: 0 / 0
13.04.2004, 13:32
    #32479049
Dnico
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
Ясное дело, что спросил - то и получил

Best regards,
Dnico.
...
Рейтинг: 0 / 0
13.04.2004, 14:11
    #32479149
Запрос
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
TO Dnico

Работает, но не совсем так как надо

Получается

Название1 null
Название2 null
Название3 null

И по поводу ON (T2.TYPE = T1.ID AND T2.TYPE = 1)
наверное T2.TYPE = T1.TYPE, но результат тот же


To Мимопроходящий

Таблички для TYPE нет
...
Рейтинг: 0 / 0
13.04.2004, 14:27
    #32479188
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
Ну, раз таблички для TYPE нет, то запрос, при большом количестве записей будет однозначно тормозным. Мне лично не понятно, как между собой связаны
записи содержащие "Название1" и "Название4". У них есть какой-то общий признак?
...
Рейтинг: 0 / 0
13.04.2004, 14:40
    #32479222
Dik76
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
Мда, что-то не клеится.. Возможен вариант, когда записей с type=0 будет меньше, чем с 1?
...
Рейтинг: 0 / 0
13.04.2004, 14:42
    #32479226
Dnico
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
Мимопроходящий записи содержащие "Название1" и "Название4". У них есть какой-то общий признак?
Если ID = Type, то вот так

Код: plaintext
1.
SELECT T1.NAME, T2.NAME FROM TABLE T1 LEFT JOIN TABLE T2 ON (T2.TYPE = T1.ID) WHERE T1.TYPE =  0 


Best regards,
Dnico.
...
Рейтинг: 0 / 0
13.04.2004, 14:44
    #32479232
Dnico
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
О, да это наверное дерево: ID - номер, Type - родитель
Тогда и получается такая связка : Название1 Название4 ,
но для деревьев совсем нужны другие запросы.

Best regards,
Dnico.
...
Рейтинг: 0 / 0
13.04.2004, 15:05
    #32479280
Dik76
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
Дерево так точно не построишь -))
...
Рейтинг: 0 / 0
13.04.2004, 15:07
    #32479283
Запрос
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
Напишу во всех подробностях.

Есть таблличка CULTURES содержащая информацию о
сельскохозяйственных культурах.
ID - идентификатор
NAME - название культуры
TYPE - тип севооборота (0-полевой, 1-почвозащттный)

Менять структуру уже нельзя.

Вывести надо так:

Полевые культуры || Почвозащитные культуры
Название1 Название4
Название2 null
Название3 null

To Dik76: Возможен вариант, когда записей с type=0 будет меньше, чем с 1?

Обычно так и будет.

Так что вот так.
...
Рейтинг: 0 / 0
13.04.2004, 15:13
    #32479307
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
Всё понятно. Вот он пример кривого проектирования...
Делай ЭТО в генераторе отчётов.
Не морокайся сотворить это запросом. Выхлоп не оправдает ожиданий.
Фактически ты имеешь тут 2 несвязанных кортежа,
которые пытаешься связать.
...
Рейтинг: 0 / 0
13.04.2004, 16:05
    #32479449
Степа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
Мимо - прав.
Если не секрет, то для чего такой вывод?
...
Рейтинг: 0 / 0
13.04.2004, 16:06
    #32479453
Запрос
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
To Мимопроходящий

Видимо так и поступлю.
А по поводу структуры, так это скорее отчет такой специфический.
Для всего остального она полностью подходит.
...
Рейтинг: 0 / 0
13.04.2004, 16:11
    #32479463
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
Ну, раз отчёт, так и делай его средствами построителя отчётов .
А никак не запросом.
...
Рейтинг: 0 / 0
13.04.2004, 16:16
    #32479473
Запрос
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
To Степа

Так надо, у Заказчика в методичке х.з. какого года так сделано.

А вообще там все отчеты спецефические, без ХП хрен сделаешь.
...
Рейтинг: 0 / 0
13.04.2004, 16:19
    #32479487
Запрос
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
To Мимопроходящий

Его сначала надо в гриде показать, а потом из формы с гридом уже отчет выводится.
...
Рейтинг: 0 / 0
13.04.2004, 16:21
    #32479492
Dik76
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
авторбез ХП хрен сделаешь

так и делай ХП, если запрос и удастся написать, то быстрым он точно не будет
...
Рейтинг: 0 / 0
13.04.2004, 16:25
    #32479510
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
Очень любопытно посмотреть на такую SP
Изврат будет ещё тот...
Дело в том, что как я уже говорил, имеем 2 несвязанных кортежа. Для них соответственно нужно создавать 2 курсора. А IB/FB выполнять навигацию по 2-м и более курсорам одновременно внутри одного блока НЕ УМЕЕТ .
...
Рейтинг: 0 / 0
13.04.2004, 16:28
    #32479521
fedd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
все-таки не умеет... а то читаю ингда - умеет делать fetch из курсора, не умеет
...
Рейтинг: 0 / 0
13.04.2004, 16:34
    #32479545
Запрос
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
To Мимопроходящий

Знаю что НЕ УМЕЕТ. Напишу - опубликую :)
...
Рейтинг: 0 / 0
13.04.2004, 16:35
    #32479549
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
fetch может сделать только клиент, вызвав функцию API isc_dsql_fetch() .
На стороне сервера это сделать нельзя.
...
Рейтинг: 0 / 0
13.04.2004, 16:37
    #32479559
fedd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
Тогда - Хателка!

Хочу создавать два курсора и фетчить их по очереди - и в ХП.
...
Рейтинг: 0 / 0
13.04.2004, 16:37
    #32479563
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
ЗапросЗнаю что НЕ УМЕЕТ. Напишу - опубликую :)
Приверженец нетрадиционного секса?
Сделать можно. Но только через Ж.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите с запросом / 25 сообщений из 39, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]