Topic: Вопросы по отчёту SQL

Запись запроса:

SELECT
outgoingMemos.record_count,
strftime('%d.%m.%Y', date),
outgoingMemos.date,
outgoingMemos.content,
outgoingMemos.id_department,
outgoingMemos.id_employee,    
outgoingMemos.id_departmentsOther,  
organization.organization,
organization.department,
organization.otdel
FROM outgoingMemos, organization

WHERE
Date({DateTimePicker1}) <= Date(outgoingMemos.date) AND
Date(outgoingMemos.date) <= Date({DateTimePicker4})

Но мне нужно, чтобы в отчёт попали не ID

outgoingMemos.id_department,
outgoingMemos.id_employee,   
outgoingMemos.id_departmentsOther

а их текстовые значения

indexDep,
employee,
name

.
Подскажите, как переписать запрос?

Не боги горшки лепят!

Re: Вопросы по отчёту SQL

SELECT
outgoingMemos.record_count,
strftime('%d.%m.%Y', date),
outgoingMemos.date,
outgoingMemos.content,

department.indexDep,
employee.employee,
departmentsOther.name

FROM outgoingMemos


LEFT OUTER JOIN department ON department.id=outgoingMemos.id_department
LEFT OUTER JOIN employee ON employee.id=outgoingMemos.id_employee
LEFT OUTER JOIN departmentsOther ON departmentsOther.id=outgoingMemos.id_departmentsOther

WHERE
Date({DateTimePicker1}) <= Date(outgoingMemos.date) AND
Date(outgoingMemos.date) <= Date({DateTimePicker4})

я удалил из запроса следующие поля
organization.organization,
organization.department,
organization.otdel


так как для их использования в запросе, необходимо знать, какая связь есть между таблицами outgoingMemos и organization

Dmitry.

3 (edited by kunar80 2015-03-11 21:49:24)

Re: Вопросы по отчёту SQL

Спасибо, сейчас попробую.

organization.organization,
organization.department,
organization.otdel
FROM outgoingMemos, organization

Это в таком виде работает без проблем, так как эти значения идут в титул страницы.
Кстати, проект с этой проблемой я Вам отправлял сегодня в личку. Не тратьте на него время, попробую сам поковырять.

Не боги горшки лепят!

Re: Вопросы по отчёту SQL

Уже переписал. Спасибо огромное. Работает.

Не боги горшки лепят!

Re: Вопросы по отчёту SQL

И ещё вопросик. В отчёте присутствуют состояния CheckBox. Как прописать изменение их значений с '0' и '1' на 'Нет' и 'Да' ?

Не боги горшки лепят!

Re: Вопросы по отчёту SQL

SELECT

outgoingMemos.date,
outgoingMemos.content,
(CASE WHEN outgoingMemos.boolfield=1 then 'Да' else 'Нет' end),
......
Dmitry.

Re: Вопросы по отчёту SQL

then 'Да' else 'Нет'

Это работает, спасибо. А как быть, если нужны украинские 'Так' и 'Ні'? Простая замена в вышеприведенном скрипте даёт ошибку.

Не боги горшки лепят!

Re: Вопросы по отчёту SQL

Проверил у себя, ошибки нет, покажите пожалуйста ваш SQL запрос полностью.

Dmitry.

Re: Вопросы по отчёту SQL

SELECT
strftime('%d.%m.%Y', date),
strftime('%d.%m.%Y', dateMemos),
strftime('%d.%m.%Y', datePerformance),
includedMemos.num,
departmentsOther.name,
includedMemos.content,
(CASE WHEN includedMemos.marked=1 then 'Да' else 'Нет' end),

organization.organization,
organization.department,
organization.otdel
FROM includedMemos, organization

LEFT OUTER JOIN departmentsOther ON departmentsOther.id=includedMemos.id_departmentsOther


WHERE
Date({DateTimePicker2}) <= Date(includedMemos.date) AND
Date(includedMemos.date) <= Date({DateTimePicker5})

И вдогонку вопрос: а как в титул отчёта вынести "{DateTimePicker2}" и "{DateTimePicker5}"? Ведь обе даты относятся к "strftime('%d.%m.%Y', date)". Т.е. в титуле хочется иметь: Журнал регистрации за период с " " по " ".

Не боги горшки лепят!

Re: Вопросы по отчёту SQL

Странно, не должно быть ошибки, пришлите весь проект с измененным SQL запросом ('Так' и 'Ні')


добавил в запрос дату из DateTimePicker-ов

SELECT
strftime('%d.%m.%Y', {DateTimePicker2}),
strftime('%d.%m.%Y', {DateTimePicker5}),

strftime('%d.%m.%Y', date),
strftime('%d.%m.%Y', dateMemos),
strftime('%d.%m.%Y', datePerformance),
includedMemos.num,
departmentsOther.name,
includedMemos.content,
(CASE WHEN includedMemos.marked=1 then 'Да' else 'Нет' end),

organization.organization,
organization.department,
organization.otdel
FROM includedMemos, organization

LEFT OUTER JOIN departmentsOther ON departmentsOther.id=includedMemos.id_departmentsOther


WHERE
Date({DateTimePicker2}) <= Date(includedMemos.date) AND
Date(includedMemos.date) <= Date({DateTimePicker5})
Dmitry.

Re: Вопросы по отчёту SQL

kunar80 wrote:

then 'Да' else 'Нет'

Это работает, спасибо. А как быть, если нужны украинские 'Так' и 'Ні'? Простая замена в вышеприведенном скрипте даёт ошибку.

Ошибка выглядит так:
http://myvisualdatabase.com/forum/misc. … r=404t1162
В последней колонке вместо "Так" и "Ні" вообще значения сбросились.

Post's attachments

Attachment icon Ошибка.jpg 72.03 kb, 321 downloads since 2015-03-12 

Не боги горшки лепят!

Re: Вопросы по отчёту SQL

а.. просто у вас изменилось имя поля, поэтому в отчете возникает ошибка, просто удалите с формы отчета это поле и снова перетащите поле из правого списка

Dmitry.

Re: Вопросы по отчёту SQL

Date({DateTimePicker4})   такое выражение в SQL запросе работает в версии 1.46?

Re: Вопросы по отчёту SQL

ОК. Всё работает. Спасибо.

Не боги горшки лепят!

Re: Вопросы по отчёту SQL

viket
Должно.

Dmitry.