powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Вставить в формулу расчета даты значение из другой таблицы.
3 сообщений из 3, страница 1 из 1
Вставить в формулу расчета даты значение из другой таблицы.
    #39141869
Serge163
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется три таблицы:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
-- Table: Period
CREATE TABLE Period ( 
    Id       serial,
    IdKeys   INTEGER,
    mDate    DATE
);

INSERT INTO Period (Id, IdKeys, mDate) VALUES (50, 43, '2012-08-01 18:13:40');
INSERT INTO Period (Id, IdKeys, mDate) VALUES (51, 44, '2013-06-07 18:14:54');
INSERT INTO Period (Id, IdKeys, mDate) VALUES (54, 46, '2011-12-07 09:06:00');
INSERT INTO Period (Id, IdKeys, mDate) VALUES (56, 47, '2013-05-14 09:07:21');
INSERT INTO Period (Id, IdKeys, mDate) VALUES (59, 50, '2012-05-28 09:52:46');
INSERT INTO Period (Id, IdKeys, mDate) VALUES (80, 71, '2013-10-16 23:27:33');
INSERT INTO Period (Id, IdKeys, mDate) VALUES (82, 73, '2012-12-19 23:44:51');
INSERT INTO Period (Id, IdKeys, mDate) VALUES (83, 74, '2012-10-30 23:49:49');
INSERT INTO Period (Id, IdKeys, mDate) VALUES (84, 74, '2013-10-20 00:00:16');
INSERT INTO Period (Id, IdKeys, mDate) VALUES (85, 74, '2012-10-30 00:01:10');



Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
-- Table: Project
CREATE TABLE Project ( 
    Id        serial,
    Validity  INT 
);

INSERT INTO Project (Id, Validity) VALUES (26, 15);
INSERT INTO Project (Id, Validity) VALUES (27, 24);
INSERT INTO Project (Id, Validity) VALUES (28, 15);
INSERT INTO Project (Id, Validity) VALUES (29, 12);
INSERT INTO Project (Id, Validity) VALUES (30, 12);
INSERT INTO Project (Id, Validity) VALUES (31, 12);
INSERT INTO Project (Id, Validity) VALUES (32, 12);
INSERT INTO Project (Id, Validity) VALUES (33, 12);
INSERT INTO Project (Id, Validity) VALUES (34, 12);
INSERT INTO Project (Id, Validity) VALUES (35, 15);



Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
-- Table: Keys
CREATE TABLE Keys ( 
    Id       serial,
    IdPro    INTEGER 
);

INSERT INTO Keys (Id, IdPro) VALUES (43, 26);
INSERT INTO Keys (Id, IdPro) VALUES (44, 26);
INSERT INTO Keys (Id, IdPro) VALUES (46, 27);
INSERT INTO Keys (Id, IdPro) VALUES (47, 27);
INSERT INTO Keys (Id, IdPro) VALUES (50, 27);
INSERT INTO Keys (Id, IdPro) VALUES (71, 26);
INSERT INTO Keys (Id, IdPro) VALUES (73, 26);
INSERT INTO Keys (Id, IdPro) VALUES (74, 26);
INSERT INTO Keys (Id, IdPro) VALUES (76, 26);
INSERT INTO Keys (Id, IdPro) VALUES (78, 26);



Выполняется запрос:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT Keys.Id AS Id,
       period.mdate,
       Project.Validity,
       to_char(period.mdate + interval '1 month', 'YYYY.MM.DD') AS Newdate
FROM Keys
     LEFT JOIN Period
          ON ( Keys.Id = Period.IdKeys ) 
     LEFT JOIN Project
          ON ( Keys.IdPro = Project.Id ) 



Хотелось бы в строку:
Код: plsql
1.
to_char(period.mdate + interval '1 month', 'YYYY.MM.DD') AS Newdate


вместо значения '1 month' подставить значение из поля Project.Validity
Что то типа:
Код: plsql
1.
to_char(period.mdate + interval & Project.Validity & ' month', 'YYYY.MM.DD') AS Newdate



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

Код: sql
1.
to_char(period.mdate + (interval '1 month' * COALESCE(project.validity, 1)), 'YYYY.MM.DD') AS Newdate


это если project.validity в месяцах.
...
Рейтинг: 0 / 0
Вставить в формулу расчета даты значение из другой таблицы.
    #39141911
Serge163
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Lonepsycho ,
Спасибо, помогло.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Вставить в формулу расчета даты значение из другой таблицы.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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