Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите составить запрос / 13 сообщений из 13, страница 1 из 1
27.06.2017, 11:41
    #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
27.06.2017, 11:51
    #39478333
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос
Подавление повторяющихся значений есть в FastReport.
Ну а если жаждешь проктостоматологии - CASE + LAG тебе в руки.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
27.06.2017, 12:37
    #39478382
fraks
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос
Квази,

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

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

Таблоид сюда редко заходит.
...
Рейтинг: 0 / 0
27.06.2017, 14:29
    #39478487
Ivan_Pisarevsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос
ЖышыА с многоэтажным Select - не каждый, тут мастер нужен.Написавший такой селект для рабочей базы - провалил тест на профпригодность.
...
Рейтинг: 0 / 0
27.06.2017, 14:41
    #39478495
rdb_dev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос
ЖышыC использованием EB каждый может. А с многоэтажным Select - не каждый, тут мастер нужен.Проктолог?
...
Рейтинг: 0 / 0
27.06.2017, 15:30
    #39478521
m7m
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
27.06.2017, 15:40
    #39478530
WildSery
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос
ЖышыА с многоэтажным Select - не каждый, тут мастер нужен.Такую фигню любой "ихсперт" наваляет.
То ли дело было лет 10 назал, вывод "как в отчёте" двух наборов данных в столбики-группы, чтобы где в группе не хватало, добавлялось NULL.
...
Рейтинг: 0 / 0
27.06.2017, 16:41
    #39478585
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос
WildSery> То ли дело было лет 10 назал, вывод "как в отчёте"
WildSery> двух наборов данных в столбики-группы

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

P.S. Хоть бы пример привёл, а-то лично я
не понял, о чём ты - это кросс-таб или что?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
27.06.2017, 18:05
    #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
27.06.2017, 18:06
    #39478641
WildSery
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос
Гаджимурадов Рустам,

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


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