Добрый день, Дмитрий. Маленький вопрос по поводу исправленного Вами выше SQL запроса:
// Data for first dataset
if isAdmin then
sql := 'SELECT employees.firstname, employees.lastname, users.login FROM employees LEFT OUTER JOIN users ON users.id=employees.id_users'
else
sql := 'SELECT employees.firstname, employees.lastname, users.login FROM employees LEFT OUTER JOIN users ON users.id=employees.id_users WHERE ' + 'id_users='+IntToStr(idUser);
SQLQuery(sql, Results1);
// Data for second dataset
if isAdmin then
sql := 'SELECT employees.firstname, employees.lastname, users.login FROM employees LEFT OUTER JOIN users ON users.id=employees.id_users'
else
sql := 'SELECT employees.firstname, employees.lastname, users.login FROM employees LEFT OUTER JOIN users ON users.id=employees.id_users WHERE ' + 'id_users='+IntToStr(idUser);
SQLQuery(sql, Results2);
Пытаюсь выбрать данные еще из другой таблицы,к примеру:
if isAdmin then
sql := 'SELECT Tema.Tema,Percent.Percent,employees.DATA, employees.lastname, users.login FROM employees,Percent,Tema LEFT OUTER JOIN users ON users.id=employees.id_users'
В отчет начинается беда и очень много лишних записей. Не подскажите как поправить, чтобы можно было добавить в запрос еще данные из других таблиц БД.
Пробовать через Group BY? Или это может сказаться на быстродействии? Еще дата в данном запросе в отчете отображается как, Год-Месяц-День. Подскажите, как сделать ДД.ММ.ГГГГ. Пробовал заменить employees.DATA на strftime('%d.%m.%Y', employees.DATA) - не помогло.
Еще в моем случае, Tema.Tema- комбобокс. И когда в отчет вставляю данные из запроса, вставляется во все строки последняя запись в комбобоксе.-как на скрине. Почему?
UPD: Проблема дублирование записей в отчете,как я понял, связанно именно с комбобоксом. Он сопоставляет все варианты,присутствующие в комбобоксе с другими записями.