powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите с запросом
25 сообщений из 39, страница 1 из 2
Помогите с запросом
    #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
Помогите с запросом
    #32478895
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как-то что-то не так в консерватории (судя по постановке задачи)...
Отдельная табличка с типами (TYPE) есть, или нету?
От этого зависит запрос.
...
Рейтинг: 0 / 0
Помогите с запросом
    #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
Помогите с запросом
    #32479010
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ведь фигня запрос.
...
Рейтинг: 0 / 0
Помогите с запросом
    #32479049
Фотография Dnico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ясное дело, что спросил - то и получил

Best regards,
Dnico.
...
Рейтинг: 0 / 0
Помогите с запросом
    #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
Помогите с запросом
    #32479188
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, раз таблички для TYPE нет, то запрос, при большом количестве записей будет однозначно тормозным. Мне лично не понятно, как между собой связаны
записи содержащие "Название1" и "Название4". У них есть какой-то общий признак?
...
Рейтинг: 0 / 0
Помогите с запросом
    #32479222
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мда, что-то не клеится.. Возможен вариант, когда записей с type=0 будет меньше, чем с 1?
...
Рейтинг: 0 / 0
Помогите с запросом
    #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
Помогите с запросом
    #32479232
Фотография Dnico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О, да это наверное дерево: ID - номер, Type - родитель
Тогда и получается такая связка : Название1 Название4 ,
но для деревьев совсем нужны другие запросы.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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