powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / LEFT JOIN урезается, а не хотелось бы...
12 сообщений из 12, страница 1 из 1
LEFT JOIN урезается, а не хотелось бы...
    #39998070
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет, чет туплю...
В атаче две таблицы, нужен запрос на LEFT JOIN (в принципе не обязательно) чтобы был нужный результат:
- там есть запрос Шаг1, который выдает правильный результат по определенному коду (-1) нужных статей
с итоговыми суммами, там где нет данных - пусто (и именно так и нужно)
- запрос Шаг2 тоже правильный в него добавлено еще одно условие отбора (выборка за сентябрь две записи по 100 = 200),
но хотелось бы увидеть все остальные записи с пустыми значениями как в Шаг1...
Честно говоря это стало неожиданным для меня, - что если одно условие то так, а если два условия, то уже эдак...
Проблема еще в том, что это макет в акцессе, а та реальная среда не поддерживает всякие примочки типа Nz, Clng на дату и прочие плюшки, не уверен даже что и вложенный select поддерживается...
Ну короче - можно ли допилить Шаг2, чтоб он в одной строке показал 200 и вытащил остальные строки с пусто как это делает Шаг1 ?
...
Рейтинг: 0 / 0
LEFT JOIN урезается, а не хотелось бы...
    #39998081
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag,
Поясните,пожалуйста,какая задача преследуется созданием этой базы:какие данные Вы храните и что хотите получать в "выхлопе"
Честно говоря ничо не понял
...
Рейтинг: 0 / 0
LEFT JOIN урезается, а не хотелось бы...
    #39998083
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku
Поясните,пожалуйста,какая задача преследуется созданием этой базы

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

А что касается этих двух таблиц и этого конкретного примера, то article это классификатор, а money движение по нему и я хочу в одном запросе увидеть итоговые движения по всему классификатору за месяц сентябрь в том числе и строки классификатора с пустыми значениями, по которым не было движений в сентябре
...
Рейтинг: 0 / 0
LEFT JOIN урезается, а не хотелось бы...
    #39998100
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag, в промежуточном запросе использовать отбор по условиям, а дальше шаг2.
...
Рейтинг: 0 / 0
LEFT JOIN урезается, а не хотелось бы...
    #39998101
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag,

Код: sql
1.
2.
3.
4.
5.
6.
SELECT article.kod, article.article, Sum(Q.summa) AS [Sum-summa]
FROM article LEFT JOIN 
(SELECT * FROM [money] WHERE  datem>=#9/1/2020# And datem<=#9/30/2020#) AS Q  ON article.kod = Q.kodart
WHERE article.kodm=-1
GROUP BY article.kod, article.article
ORDER BY article.article;
...
Рейтинг: 0 / 0
LEFT JOIN урезается, а не хотелось бы...
    #39998106
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alecko,

Спасибо, так я знаю, но та среда видит и понимает только один конкретный запрос...
...
Рейтинг: 0 / 0
LEFT JOIN урезается, а не хотелось бы...
    #39998108
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Michelle,

ошибка "в конструкции From", после сохранения не запускается и не редактируется, пробовал сохранить с датами в формате dd.mm.gggg не помогло...
...
Рейтинг: 0 / 0
LEFT JOIN урезается, а не хотелось бы...
    #39998114
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Michelle,

Спасибо, работает, вкрался лишний пробел между Q и ОN
Попробую Ваш вариант, главное чтоб прокатил вложенный SELECT...
Я то в принципе уже выкрутился за счет своей функции на этапе разбора запроса без сумм, но не нравится
быстродействие...
...
Рейтинг: 0 / 0
LEFT JOIN урезается, а не хотелось бы...
    #39998150
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как вариант(параметр месяц цифра,если надо учтете год):
Код: vbnet
1.
2.
3.
4.
SELECT article.kod, article.article, Sum(money.summa) AS [Sum-summa], IIf(Month([datem])=[месяц],Month([datem]),0) AS Выражение1,
IIf([выражение1]<>0,[sum-summa],0) AS Выражение2 
FROM article LEFT JOIN [money] ON article.kod = money.kodart
GROUP BY article.kod, article.article, IIf(Month([datem])=[месяц],Month([datem]),0);
...
Рейтинг: 0 / 0
LEFT JOIN урезается, а не хотелось бы...
    #39998155
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или так:
Код: vbnet
1.
2.
SELECT article.kod, article.article, DSum("summa","money","kodart=" & [kod] & " and month(datem)=" & [месяц]) AS Выражение1
FROM article;

и даже если DSUM не поддерживается (что маловероятно) наверное вполне возможно создание пользовательского аналога
...
Рейтинг: 0 / 0
LEFT JOIN урезается, а не хотелось бы...
    #39998168
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku,

Спасибо, последний понравился, попробую допилить чтоб не за все сентябри и потестирую... надеюсь через месяц выложу сюда на смотрины GUI-андроид работающее с mdb на телефоне...
...
Рейтинг: 0 / 0
LEFT JOIN урезается, а не хотелось бы...
    #39998230
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag
... попробую допилить чтоб не за все сентябри...
ну так задайте условие в Dsum:
Код: vbnet
1.
....and Format([datem];"mmyyуу")=[введите месяц] & [год]
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / LEFT JOIN урезается, а не хотелось бы...
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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