powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как развернуть таблицу по горизонтали
22 сообщений из 22, страница 1 из 1
Как развернуть таблицу по горизонтали
    #39405063
akrush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.
Читал вот эту тему: 10187341 - не помогло, поэтому создаю новую тему.
Прикрепляю SQL файл где создается БД, таблица и вставляются данные.

Некоторые пояснения.
Имеем таблицу тарифов на жилищно-коммунальные услуги. Это фрагмент таблица. На самом деле полей и дат больше, но привожу только ключевые поля/даты.
Пояснения к таблице:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
CREATE TABLE TMP_TARIF (
    BD        SMALLINT,			-- номер БД
    DATA_TR   TIMESTAMP NOT NULL,	-- Начало действия
    DATA_E    TIMESTAMP,		-- Дата окончания (DATA_R-1)
    DATA_R    TIMESTAMP NOT NULL,	-- дата регистрации 
    NUMB      SMALLINT,			-- тип услуг
    TARN      SMALLINT,			-- номер системы
    COD_POSL  SMALLINT,			-- код услуги
    COD_RIZN  SMALLINT);		-- код разновидности


Мне нужно получить развернутую таблицу по горизонтали по полю DATA_TR.
Сначала все поля с датой 01/12/2016, потом 01/10/2015 и в завершение 01/09/2014.

Проблема заключается в том что может быть несколько строк с разными DATA_E и DATA_R.
для BD=2 вот такая картина:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
2	01.10.2015	21.10.2015	01.10.2015	1	0	2	1
2	01.10.2015	21.10.2015	01.10.2015	1	0	2	4
2	01.10.2015	21.10.2015	01.10.2015	1	0	2	5
2	01.10.2015	21.10.2015	01.10.2015	1	0	2	7
2	01.10.2015	21.10.2015	01.10.2015	1	0	2	8
2	01.10.2015	21.10.2015	01.10.2015	1	0	2	9

2	01.10.2015	05.11.2015	22.10.2015	1	0	2	1
2	01.10.2015	05.11.2015	22.10.2015	1	0	2	4
2	01.10.2015	05.11.2015	22.10.2015	1	0	2	5
2	01.10.2015	05.11.2015	22.10.2015	1	0	2	7
2	01.10.2015	05.11.2015	22.10.2015	1	0	2	8
2	01.10.2015	05.11.2015	22.10.2015	1	0	2	9
2	01.10.2015	05.11.2015	22.10.2015	1	0	2	13
2	01.10.2015	05.11.2015	22.10.2015	1	0	2	12
2	01.10.2015	05.11.2015	22.10.2015	1	0	2	10
2	01.10.2015	05.11.2015	22.10.2015	1	0	2	11


Как видно для cod_rizn 1,4,5,7,8,9 есть 2 DATA_E и DATA_R: 21/10/2015, 05/11/2015 и 01/10/2015, 22/10/2015 соответственно.
Мне нужно выбрать последние (максимальные) значения.

Так же количество значений тоже может быть разное, например для той же BD=2 количество строк (если брать только нужные даты) для 01/12/2016 и 01/10/2015 - 10 строк, а для 01/09/2016 - 6 строк.


Пытался сделать так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
select tr1.bd, tr1.DATA_TR, tr1.DATA_E, tr1.DATA_R, tr1.NUMB, tr1.TARN, tr1.COD_POSL, tr1.COD_RIZN,
  tr2.bd, tr2.DATA_TR, tr2.DATA_E, tr2.DATA_R, tr2.NUMB, tr2.TARN, tr2.COD_POSL, tr2.COD_RIZN,
  tr3.bd, tr3.DATA_TR, tr3.DATA_E, tr3.DATA_R, tr3.NUMB, tr3.TARN, tr3.COD_POSL, tr3.COD_RIZN
  from tmp_tarif tr1

  join tmp_tarif tr2 on ( tr1.bd = tr2.bd
                      and tr1.numb = tr2.NUMB
                      and tr1.tarn = tr2.tarn
                      and tr1.cod_posl = tr2.cod_posl
                      and tr1.cod_rizn = tr2.cod_rizn)

  join tmp_tarif tr3 on ( tr1.bd = tr3.bd
                      and tr1.numb = tr3.NUMB
                      and tr1.tarn = tr3.tarn
                      and tr1.cod_posl = tr3.cod_posl
                      and tr1.cod_rizn = tr3.cod_rizn)
 where tr1.data_tr=cast('01.12.2016' as timestamp)
   and tr2.data_tr=cast('01.10.2015' as timestamp)
   and tr3.data_tr=cast('01.09.2015' as timestamp)


Но, скорее всего, из-за того что есть несколько строк на 1 значение cod_rizn - результат пустой.
Пробовал как в упомянутом сообщении применить LEFT JOIN - результат тот же, НИЧЕГО
Что я неправильно делаю и как правильно добавить условие по выбору максимальной даты (DATA_E и DATA_R) из нужной мне DATA_TR?

--------------------------
Firebird 3.0.1.32609;
IBExpert 2017.2.7.1;
Windows 10 32-bit;
4Gb RAM;
SSD 512Mb + HDD 1 Tb;
Настройки по умолчанию
...
Рейтинг: 0 / 0
Как развернуть таблицу по горизонтали
    #39405084
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Akrush!
You wrote on 15 февраля 2017 г. 16:21:24:

Akrush> Прикрепляю SQL файл где создается БД, таблица и вставляются данные.
ты не обижайся, но делать работу вместо тебя никто не будет.
здесь подскажут и направят.
но делать тебе предстоит самому.

по теме: если это отчёт, то делать его нужно средствами построения отчётов.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как развернуть таблицу по горизонтали
    #39405118
akrush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,
Я давно не обижаюсь на то что пишут на форумах. Так сказать у каждого свои "тараканы" в голове.
Это не отчет.
Ведется работа по слиянию 6 баз в одну.
Чтобы правильно слить систему тарифов я хочу видеть 3 "среза":
Последняя, действующая - 01/12/2016
год назад - 01/10/2015
и система до изменения законодательства по нормативам - 01/09/2014

Я не прошу решать за меня проблемы.
Я прошу указать куда копать.
...
Рейтинг: 0 / 0
Как развернуть таблицу по горизонтали
    #39405140
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akrush,

а давай разобьём задачу на две. Сначала получим нужные данные. Потом попробуем перевернуть. Или наоборот. Что касается второй задачи. Поскольку хранение данных в горизонтальном виде противоестественно, то вопрос - количество столбцов заранее известно?
...
Рейтинг: 0 / 0
Как развернуть таблицу по горизонтали
    #39405154
akrush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXI,
Можно сказать - да.
Не считая ключевых полей которые приведены как пример есть еще 16 полей
...
Рейтинг: 0 / 0
Как развернуть таблицу по горизонтали
    #39405155
akrush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может подскажите как избавиться от повторений в датах - тогда думаю что "взлетит"
...
Рейтинг: 0 / 0
Как развернуть таблицу по горизонтали
    #39405163
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Akrush!
You wrote on 15 февраля 2017 г. 17:23:57:

Akrush> Может подскажите как избавиться от повторений в датахдля начала сформулируй словами критерии (минимальные и достаточные),
по которым та, или иная запись из таблицы попадает в результирующую выборку.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как развернуть таблицу по горизонтали
    #39405287
akrush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,
Нужно отобрать все записи которые
data_tr = 01/12/2016 or 01/10/2015 or 01/09/2014
в случае если несколько записей
max(data_r)

Это основные поля для отбора по 1 записи на разновидность на дату.
Как-то так.
...
Рейтинг: 0 / 0
Как развернуть таблицу по горизонтали
    #39405317
akrush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите как из вот таких данных

Код: sql
1.
2.
3.
4.
5.
DATA_TR	DATA_R	DATA_E
01.09.2014 00:00:00	04.09.2014 00:00:00	30.09.2014 00:00:00
01.10.2015 00:00:00	01.10.2015 00:00:00	21.10.2015 00:00:00
01.10.2015 00:00:00	22.10.2015 00:00:00	05.11.2015 00:00:00
01.12.2016 00:00:00	02.12.2016 00:00:00	



Получить вот такое:
Код: sql
1.
2.
3.
01.09.2014 00:00:00	04.09.2014 00:00:00	30.09.2014 00:00:00
01.10.2015 00:00:00	22.10.2015 00:00:00	05.11.2015 00:00:00
01.12.2016 00:00:00	02.12.2016 00:00:00	
...
Рейтинг: 0 / 0
Как развернуть таблицу по горизонтали
    #39405321
__Avenger__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akrush,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
with temp as (
  select bd, NUMB, TARN, COD_POSL, COD_RIZN, DATA_TR, DATA_E, DATA_R
  where data_tr in ( date '2016-12-01', date '2015-09-01', date '2015-10-01')
)  
  

select tr1.bd, tr1.NUMB, tr1.TARN, tr1.COD_POSL, tr1.COD_RIZN,
  MAX(tr1.DATA_TR), MAX(tr1.DATA_E), MAX(tr1.DATA_R),
  MAX(tr2.DATA_TR), MAX(tr2.DATA_E), MAX(tr2.DATA_R),
  MAX(tr3.DATA_TR), MAX(tr3.DATA_E), MAX(tr3.DATA_R)
  from (select distinct bd, NUMB, TARN, COD_POSL, COD_RIZN from temp) t
  
  left outer join temp tr1 on ( t.bd = tr1.bd
                      and t.numb = tr1.NUMB
                      and t.tarn = tr1.tarn
                      and t.cod_posl = tr1.cod_posl
                      and t.cod_rizn = tr1.cod_rizn
					  and tr1.data_tr=cast('01.10.2015' as timestamp))

  
  left outer join temp tr2 on ( t.bd = tr2.bd
                      and t.numb = tr2.NUMB
                      and t.tarn = tr2.tarn
                      and t.cod_posl = tr2.cod_posl
                      and t.cod_rizn = tr2.cod_rizn
					  and tr2.data_tr=cast('01.10.2015' as timestamp))

  left outer join temp tr3 on ( t.bd = tr3.bd
                      and t.numb = tr3.NUMB
                      and t.tarn = tr3.tarn
                      and t.cod_posl = tr3.cod_posl
                      and t.cod_rizn = tr3.cod_rizn
					  and tr3.data_tr=cast('01.09.2015' as timestamp))
					  
group by  tr1.bd, tr1.NUMB, tr1.TARN, tr1.COD_POSL, tr1.COD_RIZN					  
...
Рейтинг: 0 / 0
Как развернуть таблицу по горизонтали
    #39405322
__Avenger__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибочка, надо примерно так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
with temp as (
  select bd, NUMB, TARN, COD_POSL, COD_RIZN, DATA_TR, DATA_E, DATA_R
  where data_tr in ( date '2016-12-01', date '2015-09-01', date '2015-10-01')
)  
  

select t.bd, t.NUMB, t.TARN, t.COD_POSL, t.COD_RIZN,
  MAX(tr1.DATA_TR), MAX(tr1.DATA_E), MAX(tr1.DATA_R),
  MAX(tr2.DATA_TR), MAX(tr2.DATA_E), MAX(tr2.DATA_R),
  MAX(tr3.DATA_TR), MAX(tr3.DATA_E), MAX(tr3.DATA_R)
  from (select distinct bd, NUMB, TARN, COD_POSL, COD_RIZN from temp) t
  
  left outer join temp tr1 on ( t.bd = tr1.bd
                      and t.numb = tr1.NUMB
                      and t.tarn = tr1.tarn
                      and t.cod_posl = tr1.cod_posl
                      and t.cod_rizn = tr1.cod_rizn
					  and tr1.data_tr=cast('01.10.2015' as timestamp))

  
  left outer join temp tr2 on ( t.bd = tr2.bd
                      and t.numb = tr2.NUMB
                      and t.tarn = tr2.tarn
                      and t.cod_posl = tr2.cod_posl
                      and t.cod_rizn = tr2.cod_rizn
					  and tr2.data_tr=cast('01.10.2015' as timestamp))

  left outer join temp tr3 on ( t.bd = tr3.bd
                      and t.numb = tr3.NUMB
                      and t.tarn = tr3.tarn
                      and t.cod_posl = tr3.cod_posl
                      and t.cod_rizn = tr3.cod_rizn
					  and tr3.data_tr=cast('01.09.2015' as timestamp))
					  
group by  t.bd, t.NUMB, t.TARN, t.COD_POSL, t.COD_RIZN

...
Рейтинг: 0 / 0
Как развернуть таблицу по горизонтали
    #39405330
akrush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Avenger__,
Спасибо, попробую
...
Рейтинг: 0 / 0
Как развернуть таблицу по горизонтали
    #39406885
zeon11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akrush,

Была в своё время такая проблема. Делал одну достаточно сложную печатную форму, меню-раскладку для приготовления питания (ФОРМА N 44-МЗ).
Решил проблему одной временной таблицей (см. CREATE GLOBAL TEMPORARY TABLE .....)
и одной серверной процедурой, в которой перед печатью заполняю эту временную таблицу.
Преимущество в том, что всё делается на сервере, в процедуре можно реализовать весьма изощрённую логику, которую SQL-запросом подчас не решить.
...
Рейтинг: 0 / 0
Как развернуть таблицу по горизонтали
    #39406966
akrush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zeon11,
увы, сложные процедуры мне пока не по зубам.
если не сложно - можете на моем примере показать пример/принцип как написать процедуру.
я всеми руками за, но я только учусь
...
Рейтинг: 0 / 0
Как развернуть таблицу по горизонтали
    #39406978
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akrush,
официальная документация по языку sql firebird плюс
http://www.ibase.ru/sp_call/
...
Рейтинг: 0 / 0
Как развернуть таблицу по горизонтали
    #39414895
akrush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем за советы.
Кое что у меня получилось.
Но развернуть так как мне хочется в одном запросе пока не получается.
Разбиваю на несколько Этапов во временные таблицы.
И вот тут "лыжи перестали ехать".
Исходные данные в первом посте, но таблица TMP_TARIF расширилась.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
CREATE TABLE TMP_TARIF (
    BD         SMALLINT NOT NULL,
    DATA_TR    TIMESTAMP NOT NULL,
    DATA_E     TIMESTAMP,
    DATA_R     TIMESTAMP NOT NULL,
    MARK       SMALLINT,
    NUMB       SMALLINT NOT NULL,
    TARN       SMALLINT NOT NULL,
    COD_POSL   SMALLINT NOT NULL,
    COD_RIZN   SMALLINT NOT NULL,
    NORM_US    NUMERIC(5,2),
    NORM_USD   NUMERIC(5,2),
    CODE_NN    SMALLINT,
    CODE_NDN   SMALLINT,
    CODE_UNIT  SMALLINT,
    COST_UNIT  NUMERIC(10,5),
    COST_UN1   NUMERIC(10,5),
    COST_UN2   NUMERIC(10,5),
    NORM       NUMERIC(10,5),
    NORM_DOP   NUMERIC(10,5),
    NORM_MAX   NUMERIC(10,5),
    VOL_UN0    NUMERIC(7,2),
    VOL_UN1    NUMERIC(7,2),
    OPAL_TIP   SMALLINT,
    CODE_FROG  SMALLINT
);



Ключевые поля ориентируясь на которые нужно получить максимальную: BD, NUMB, TARN, COD_POSL, COD_RIZN
После получения максимальной даты, хочу дополнить остальными полями. Делать сразу Group by не могу т.к. данные по другим полям могут быть разными и тогда результат не тот.

Делаю все Хранимой процедурой:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
create or alter procedure TARIF_UNITE (
    data date)
returns (
    BD smallint,
    NUMB smallint,
    TARN smallint,
    COD_POSL smallint,
    COD_RIZN smallint,
    DATA_TR date,
    DATA_E date,
    DATA_R date,
    MARK smallint,
    NORM_US numeric(5,2),
    NORM_USD numeric(5,2),
    CODE_NN smallint,
    CODE_NDN smallint,
    CODE_UNIT smallint,
    COST_UNIT numeric(10,5),
    COST_UN1 numeric(10,5),
    COST_UN2 numeric(10,5),
    NORM numeric(10,5),
    NORM_DOP numeric(10,5),
    NORM_MAX numeric(10,5),
    VOL_UN0 numeric(7,2),
    VOL_UN1 numeric(7,2),
    OPAL_TIP smallint,
    CODE_FROG smallint)
AS
begin
  for select
          BD,
          NUMB,
          TARN,
          COD_POSL,
          COD_RIZN,
          max(DATA_TR) as DATA_TR,
          max(DATA_E) as DATA_E,
          max(DATA_R) as DATA_R
      from
          TARIF
      where
          DATA_TR = :data
      group by BD, NUMB, TARN, COD_POSL, COD_RIZN
      into :BD, :NUMB, :TARN, :COD_POSL, :COD_RIZN, :DATA_TR, :DATA_E, :DATA_R
  do
    begin
      for select MARK, NORM_US, NORM_USD, CODE_NN, CODE_NDN, CODE_UNIT,
              COST_UNIT, COST_UN1, COST_UN2, NORM, NORM_DOP, NORM_MAX,
               VOL_UN0, VOL_UN1, OPAL_TIP, CODE_FROG
        from tarif
        where bd=:bd and numb=:numb and tarn=:tarn and data_tr=:data_tr
          and data_e=:data_e and data_r=:data_r
          and cod_posl=:cod_posl and cod_rizn=:cod_rizn
        into :MARK, :NORM_US, :NORM_USD, :CODE_NN, :CODE_NDN, :CODE_UNIT,
               :COST_UNIT, :COST_UN1, :COST_UN2, :NORM, :NORM_DOP, :NORM_MAX,
               :VOL_UN0, :VOL_UN1, :OPAL_TIP, :CODE_FROG
        do
          --begin
            --suspend;
        --end
      suspend;
    end
end




Суть вопроса: по отдельности 2 запроса отрабатывают правильно. Пробовал Suspend ставить в нескольких местах - результат - пустая выборка.
Подскажите где правильно поставить Suspend.
Алгоритм Процедуры вижу такой:
1. Выбираем максимальные даты по ключевым полям: BD, NUMB, TARN, COD_POSL, COD_RIZN, плюс сами поля даты DATA_TR, DATA_E, DATA_R по указанному критерию DATA_TR=:data
Получили набор строк.
2. Из той же таблицы пытаюсь выбрать данные по остальным полям, в условиях отбора - конкретные значения из первого запроса по ключевым полям.
Что я неправильно делаю. Почему результат нулевой
...
Рейтинг: 0 / 0
Как развернуть таблицу по горизонтали
    #39415036
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akrush,

Нет записей с

max(DATA_TR) = DATA_TR
и при этом
max(DATA_E) = DATA_E
и при этом
max(DATA_R) = DATA_R
...
Рейтинг: 0 / 0
Как развернуть таблицу по горизонтали
    #39415044
akrush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m7m,

Есть.
Еще раз повторю - если из хранимой процедуры выполнить запросы отдельно - все выполняется и записи есть
...
Рейтинг: 0 / 0
Как развернуть таблицу по горизонтали
    #39415051
__Avenger__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akrushm7m,

Есть.
Еще раз повторю - если из хранимой процедуры выполнить запросы отдельно - все выполняется и записи есть

Еще раз повторяю, записей нет, если max(DATA_TR) = DATA_TR and max(DATA_E) = DATA_E and max(DATA_R) = DATA_R.
...
Рейтинг: 0 / 0
Как развернуть таблицу по горизонтали
    #39415054
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akrushm7m,

Есть.
Еще раз повторю - если из хранимой процедуры выполнить запросы отдельно - все выполняется и записи есть
а чего повторять
во втором селекте
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
        where
 bd=:bd and                    -- поле not null и участвует в group by
 numb=:numb and           -- поле not null  и участвует в group by 
 tarn=:tarn and               -- поле not null и участвует в group by
 data_tr=:data_tr and      -- поле not null  и участвует в WHERE (и значит  max(DATA_TR) as DATA_TR, можно выкинуть)
 data_e=:data_e and 
 data_r=:data_r and 
 cod_posl=:cod_posl and  -- поле not null и участвует в group by
 cod_rizn=:cod_rizn         -- поле not null и участвует в group by  



и что остается
а только один вариант нет записей с
Код: sql
1.
 data_e=:data_e and  data_r=:data_r


сюда же входит и вариант с
:data_e=null или :data_r=null

я не претендую на то что очень внимательно смотрел однако там то и смотреть особо не на что
в смысле все прозрачно
и остается еще два варианта
я что-то пропустил
ты что-то недописал
...
Рейтинг: 0 / 0
Как развернуть таблицу по горизонтали
    #39415064
akrush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m7m,
Спасибо. Получилось убрав ДАТА_Е из условий, т.к. есть один период где ДАТА_Е is null
...
Рейтинг: 0 / 0
Как развернуть таблицу по горизонтали
    #39415158
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akrushm7m,
Спасибо. Получилось убрав ДАТА_Е из условий, т.к. есть один период где ДАТА_Е is null
а может
Код: sql
1.
 data_e=:data_e and  data_r=:data_r


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


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