Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

12 Май 2021, 17:13 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Вы можете задать вопрос по LibreOffice или Apache OpenOffice без регистрации, используя форму
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Как LibreOffice Base запрос сравнения 3 таблиц переделать в LibreOffice Calc?  (Прочитано 3515 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Evtihij
Участник
**
Offline Offline

Пол: Мужской
Расположение: Запорожье
Сообщений: 8


Бедная, бросаемая бурею, безутешная!


WWW
« Стартовое сообщение: 24 Май 2020, 07:39 »

Доброе утро, подскажите, как сравнить 3 таблицы в LibreOffice Calc?

В LibreOffice Base запрос qryOASUPFired выглядит так:
Код:
SELECT DISTINCT "tblOld"."У", "tblNew"."У", "tblOld"."Таб.N", "tblOld"."ФИО", "tblOld"."Уч-к/ Отдел", "tblOld"."Должность/Профессия", "tblNew"."Должность/Профессия" FROM "tblNew", "tblOld", "tblOASUP" WHERE "tblNew"."Таб.N" = "tblOld"."Таб.N" AND "tblOASUP"."Таб.N" = "tblOld"."Таб.N" AND "tblOld"."У" <> "tblNew"."У"

Запрос qryOASUPPosition выглядит так:
Код:
SELECT DISTINCT "tblOld"."У", "tblNew"."У", "tblOld"."Должность/Профессия", "tblNew"."Должность/Профессия", "tblOld"."Таб.N", "tblOld"."ФИО", "tblOld"."Уч-к/ Отдел" FROM "tblNew", "tblOld", "tblOASUP" WHERE "tblNew"."Таб.N" = "tblOld"."Таб.N" AND "tblOASUP"."Таб.N" = "tblOld"."Таб.N" AND "tblOld"."Должность/Профессия" <> "tblNew"."Должность/Профессия"


* qryOASUPFired.png (68.98 Кб, 960x704 - просмотрено 42 раз.)

* qryOASUPPosition.png (70.17 Кб, 1023x661 - просмотрено 33 раз.)
« Последнее редактирование: 24 Май 2020, 10:04 от Evtihij » Записан
economist
Форумчанин
***
Online Online

Сообщений: 1 457


« Ответ #1: 27 Ноябрь 2020, 10:58 »

Два подхода:

1) Решаем где сам чек-лист (например new), и пишем запрос с Left Outer Join двух других таблиц, сохраняем, результат запроса вытаскиваем в Calc через Ctrl+Shift+F4.

2) Вытаскиваем все три таблицы на разные листы в Calc через Ctrl+Shift+F4 и банальной функцией =ВПР() или =VLOOKUP() вытаскиваем к таблице new правее (да хоть к любой) список табномеров из 2-х других. Где будет #Н/Д - значит такой строки нет.

Кстати, категорически не советую в имена полей включать символ № - замените на N. Некоторое число утилит, расширений итп споткнутся на этом символе. 
Записан

Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...
Evtihij
Участник
**
Offline Offline

Пол: Мужской
Расположение: Запорожье
Сообщений: 8


Бедная, бросаемая бурею, безутешная!


WWW
« Ответ #2: 29 Ноябрь 2020, 11:03 »

Спасибо за советы!
У меня в планах вернуться к этому вопросу летом, если мне снова дадут студентов, чтоб им было над чем задуматься. Также в планах перенести этот вопрос в тему "Calc". Очень понравилось расширение "Удалить дубликаты", хоть и не совсем то, по сути мне нужно просто удалить дубликаты. Хотя наверно все же предпочтение у формулы, когда нужно просто введу формулу, похожую на эту (Извлечение уникальных элементов из диапазона.ods), и она найдет мне отличия.

Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!