Форум: "Начинающим";
Текущий архив: 2008.04.20;
Скачать: [xml.tar.bz2];
ВнизЗапрос по соединению данных. Найти похожие ветки
← →
Xmen (2008-03-24 06:45) [0]Привет мастерам.
У меня возникла такая проблема даже незнаю как описать. Такесть у меня 2 таблицы мастер(1)-детал(1). В одном список документов а втором кому этот документ назначен для прочтения. Нужно сделат такой запрос чтобы в одной строке был данные с мастер таблицы и в конце одном поле показывал бы данные с второй таблицы.
1 табл.
ID Doc_name Doc_Date Doc_type
---------------------------------------------------------------
1 письмо1 21.03.2008 письмо
2 приказ1 22.03.2008 приказ
3 письмо2 22.03.2008 письмо
2 табл.
ID Main_id FIO Content
---------------------------------------------------------------
1 1 Петров А.С. на расмотрение
2 2 Ким Л.А. на выполнение
3 2 Иванов Н.Н. на выполнение
4 2 Попов Р.Д. на рассмотрение
5 3 Иванов Н.Н. для ознакомления
результат должен быт такой
ID Doc_name Doc_date FIO_Content
2 приказ1 22.03.2008 Ким Л.А. на выполнения, Иванов Н.Н. на выполнения, Попов Р.Д. на рассмотрения
← →
Johnmen © (2008-03-24 09:00) [1]Пиши ХП.
← →
Sergey13 © (2008-03-24 09:02) [2]ИМХО, без хранимой процедуры никак.
Вот только стОит ли стараться? Если "поле" получится очень большим начнутся проблемы с отображением.
← →
Sergey13 © (2008-03-24 09:05) [3]+
Я так понимаю это документооборот какой то?
У каждой записи второй таблицы могут (даже должны) быть свои даты. Иначе весь учет теряет смысл без хронологии.
← →
Sergey13 © (2008-03-24 09:08) [4]+
И отправитель еще должен быть во второй таблице.
← →
Xmen (2008-03-24 09:41) [5]Да это так это таблица для документооборота, а как это реализовать в ХП я еще не исползовал их. Обясните это в примере если возможно. так как это прого для дипломной работе то испольнителе могут быть макс 5 чел, разумеется в приделах 255 символов для отображения. Это строка нужно для ввода в отчет.
← →
Sergey13 © (2008-03-24 10:08) [6]> [5] Xmen (24.03.08 09:41)
> так как это прого для дипломной работе то испольнителе могут быть макс 5 чел
Это неправильно - писать по разному для диплома и не для диплома. Пиши всегда правильно - меньше путаться придется. Кроме того - завалят ведь на защите диплома, если в комиссии не круглые идиоты будут. Скажут - чему ж мы тебя учили то 5 лет?
> а как это реализовать в ХП я еще не исползовал их
На сайет ibase.ru много всякого материала по ИБ/ФБ.
← →
Xmen (2008-03-24 10:15) [7]а можно это то что я спрашевал в FastReporte реализовать. У меня отчете там выходять, както видел что там тоже есть свой язык программирования или это уже сложно.
← →
Sergey13 © (2008-03-24 10:23) [8]> [7] Xmen (24.03.08 10:15)
Можно В ФР. Перед печатью бенда заполняешь вручную переменную чем угодно.
Но неправильно это.
← →
Xmen (2008-03-24 10:36) [9]да тогда покажите простую путь примером. Пожалуйста...
← →
Xmen (2008-03-24 15:14) [10]Сделал так но выдал ощибку, не понял где сделал ощибку
CREATE PROCEDURE PR1 (
main_id integer)
returns (
pr_date varchar(255))
as
declare variable pr_date1 varchar(55);
begin
/* Procedure Text */
pr_date = "";
for select e.executor_id||" "||e.control_date
from incoming_executor e
where e.incoming_id=:main_id
into :pr_date1
do
begin
if (:pr_date1 is not null) then pr_date = pr_date + :pr_date1;
end
suspend;
end
← →
Правильный_Вася (2008-03-24 15:34) [11]
> выдал ощибку
ждем текст ошибки
← →
Xmen (2008-03-24 15:41) [12]Текс такой
Unsuccessful execution caused by a system error that precludes
successful execution of subsequent statements.
Dynamic SQL Error.
expression evaluation not supported.
← →
Правильный_Вася (2008-03-24 15:45) [13]сделай явное приведение типов здесь:
e.executor_id||" "||e.control_date
← →
Правильный_Вася (2008-03-24 15:45) [14]хотя ошибка, похоже, при неправильном вызове процедуры
← →
Xmen (2008-03-24 15:49) [15]если я сделал
e.executor_id
все равно такая ощибка
← →
Правильный_Вася (2008-03-24 15:55) [16]какие типы полей?
как вызываешь ХП?
> pr_date + :pr_date1;
операция + не определена для строковых типов
← →
Xmen (2008-03-24 15:59) [17]я же вверху писал с ХП незнаком просто гдето посмотрел код ХП и для себя настроил. как нужно сделать правильние
← →
Правильный_Вася (2008-03-24 16:15) [18]
> с ХП незнаком
ознакомься, это не долго
← →
Xmen (2008-03-25 15:50) [19]This operation is not defined for system tables.
unsuccessful metadata update.
STORE RDB$PROCEDURES failed.
lock conflict on no wait transaction.
attempt to store duplicate value (visible to active transactions) in unique index "RDB$INDEX_21".
Что это за ошибка?
← →
Johnmen © (2008-03-25 16:14) [20]
> Что это за ошибка?
На чём?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.04.20;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.06 c