powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите составить запрос
13 сообщений из 13, страница 1 из 1
Помогите составить запрос
    #39478313
Квази
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Две таблицы - A(PK) и B(FK)

запрос вида
for select a.a, a.b, a.c, b.xx, b.yy from a join b into список_переменных

возвращает такой результат

aaaaa, abbbb, accccc, b.xxxx, b.yyyy
aaaaa, abbbb, accccc, b.nnnn, b.nnnn
aaaaa, abbbb, accccc, b.ssss, b.tttt

а хотелось бы
aaaaa, abbbb, accccc, b.xxxx, b.yyyy
null, null, null, b.nnnn, b.nnnn
null, null, null, b.ssss, b.tttt
...
Рейтинг: 0 / 0
Помогите составить запрос
    #39478333
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подавление повторяющихся значений есть в FastReport.
Ну а если жаждешь проктостоматологии - CASE + LAG тебе в руки.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите составить запрос
    #39478382
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Квази,

for select намекает что есть и suspend;
Сохраняй предыдущее значение переменных, сравнивай с текущим. Если совпадает - заNULLяй выходные переменные.
...
Рейтинг: 0 / 0
Помогите составить запрос
    #39478455
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Элементарно делается через EXECUTE BLOCK или хранимую процедуру.
...
Рейтинг: 0 / 0
Помогите составить запрос
    #39478479
Жышы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devЭлементарно делается через EXECUTE BLOCK или хранимую процедуру.

C использованием EB каждый может. А с многоэтажным Select - не каждый, тут мастер нужен.
...
Рейтинг: 0 / 0
Помогите составить запрос
    #39478481
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Жышы,

Таблоид сюда редко заходит.
...
Рейтинг: 0 / 0
Помогите составить запрос
    #39478487
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЖышыА с многоэтажным Select - не каждый, тут мастер нужен.Написавший такой селект для рабочей базы - провалил тест на профпригодность.
...
Рейтинг: 0 / 0
Помогите составить запрос
    #39478495
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЖышыC использованием EB каждый может. А с многоэтажным Select - не каждый, тут мастер нужен.Проктолог?
...
Рейтинг: 0 / 0
Помогите составить запрос
    #39478521
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КвазиДве таблицы - A(PK) и B(FK)

запрос вида
for select a.a, a.b, a.c, b.xx, b.yy from a join b into список_переменных

возвращает такой результат

aaaaa, abbbb, accccc, b.xxxx, b.yyyy
aaaaa, abbbb, accccc, b.nnnn, b.nnnn
aaaaa, abbbb, accccc, b.ssss, b.tttt

а хотелось бы
aaaaa, abbbb, accccc, b.xxxx, b.yyyy
null, null, null, b.nnnn, b.nnnn
null, null, null, b.ssss, b.tttt
ну как-то так
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
for select a.a,... from a ....
do begin
   for select b.b,.... from b ....
   do begin
      suspend;
       a=null;......
   end
end

...
Рейтинг: 0 / 0
Помогите составить запрос
    #39478530
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЖышыА с многоэтажным Select - не каждый, тут мастер нужен.Такую фигню любой "ихсперт" наваляет.
То ли дело было лет 10 назал, вывод "как в отчёте" двух наборов данных в столбики-группы, чтобы где в группе не хватало, добавлялось NULL.
...
Рейтинг: 0 / 0
Помогите составить запрос
    #39478585
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSery> То ли дело было лет 10 назал, вывод "как в отчёте"
WildSery> двух наборов данных в столбики-группы

Вот были люди в наше время!.. (с)

P.S. Хоть бы пример привёл, а-то лично я
не понял, о чём ты - это кросс-таб или что?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите составить запрос
    #39478639
vvvait
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
2.
3.
4.
5.
6.
7.
select
  iif(RDB$GET_CONTEXT('USER_TRANSACTION', 'last') <> r.RDB$RELATION_NAME,
      iif(RDB$SET_CONTEXT('USER_TRANSACTION', 'last', r.RDB$RELATION_NAME) = 1, r.RDB$RELATION_NAME, r.RDB$RELATION_NAME),
      null) as RDB$RELATION_NAME,
  f.RDB$FIELD_NAME
from RDB$RELATIONS r
join RDB$RELATION_FIELDS f on r.RDB$RELATION_NAME = f.RDB$RELATION_NAME
...
Рейтинг: 0 / 0
Помогите составить запрос
    #39478641
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,

Типа вот такого.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите составить запрос
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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