powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Проблема с выборкой одной записи из главной таблицы, когда в подчиненной записей несколько
4 сообщений из 4, страница 1 из 1
Проблема с выборкой одной записи из главной таблицы, когда в подчиненной записей несколько
    #32773588
tim2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблица Доставки, в которой для конкретного заказа(связь с табл.Заказы) может быть несколько записей - доставлялся частями. Доставка, которая, "закрывает" весь заказ имеет отметку в логич.поле.
Пытаюсь получить сведения о состоянии доставки по каждому из заказов: доставлен полностью или частично.
Как не изгалялся с группировками, но все-равно не удается получить по заказу одну строку, если доставок было несколько!
Если б таблицы Доставка и Заказы были связаны одним полем, то можно было в одном запросе получить заказы, у которых есть отметка в логич.поле, а во втором запросе - у которых этой отметки нет, причем использовать первый запрос как подчиненный с условием Not In...
Но таблицы связаны по 4 полям, как тут быть?
...
Рейтинг: 0 / 0
Проблема с выборкой одной записи из главной таблицы, когда в подчиненной записей несколько
    #32777759
Bagin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решение в лоб, не самое оптимальное:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
SELECT Заказ.Наименование, 
IIF((SELECT COUNT(*) AS COUNT FROM Доставка 
              WHERE Доставка.поле1=Заказ.поле1 AND
                        Доставка.поле2=Заказ.поле2  AND
                        Доставка.поле3=Заказ.поле3 AND
                        Доставка.поле4=Заказ.поле4 AND 
                        Доставка.Доставлен = TRUE )> 0 , 
          'Доствален', 'Не доставлен') AS Доставлен
FROM Заказ;
...
Рейтинг: 0 / 0
Проблема с выборкой одной записи из главной таблицы, когда в подчиненной записей несколько
    #32777792
Bagin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошу прощения, ошибся, попробую исправить
...
Рейтинг: 0 / 0
Проблема с выборкой одной записи из главной таблицы, когда в подчиненной записей несколько
    #32777817
Bagin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот так правильнее:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
SELECT Заказ.Наименование, 
       IIF((SELECT COUNT(*) AS COUNT FROM Доставка 
                    WHERE Доставка.поле1=Заказ.поле1 AND
                              Доставка.поле2=Заказ.поле2  AND
                              Доставка.поле3=Заказ.поле3 AND
                              Доставка.поле4=Заказ.поле4 AND
                              Доставка.Доставлен = FALSE)> 0  
         OR (SELECT COUNT(*) AS COUNT FROM Доставка 
                   WHERE Доставка.поле1=Заказ.поле1 AND
                             Доставка.поле2=Заказ.поле2  AND
                             Доставка.поле3=Заказ.поле3 AND
                             Доставка.поле4=Заказ.поле4)= 0 , 
          'Не доставлен', 'Доствален') AS Доставлен
FROM Заказ;
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Проблема с выборкой одной записи из главной таблицы, когда в подчиненной записей несколько
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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