#vb.net #ms-access #left-join
#vb.net #ms-доступ #левое соединение
Вопрос:
Я застрял в запросе.
Таблицы:
В таблице «Избранное» хранятся избранные статьи (продукты).
в таблице «артикулы» хранятся все доступные товары.
в таблице «поставщики» хранятся все поставщики этих продуктов. Связь между продуктами и поставщиками хранится в таблице «artPRov».
В таблице «счета» хранятся покупки.
ОТНОШЕНИЯ
ЗАПРОС
выберите избранное.*,статьи.статья,artProv.LastCost, счет-фактура.idInv, providers.name ИЗ ((((избранное ОСТАЛОСЬ ПРИСОЕДИНЯЙТЕСЬ К статьям О избранном.idArt=статьи.idArt) ПОСТАВЩИКИ ЛЕВЫХ СОЕДИНЕНИЙ В избранном.idProv=providers.idProv) ЛЕВОЕ СОЕДИНЕНИЕ artProv В избранном.idArt=artProv.idArt И artProv.idProv=providers.idProv) НАКЛАДНЫЕ НА ЛЕВОЕ СОЕДИНЕНИЕ В избранных.idInv=счета-фактуры.idInv)
ошибка соединения:
> LEFT JOIN artProv ON favourites.idArt=artProv.idArt AND
> artProv.idProv=providers.idProv
Комментарии:
1. Ваш вопрос немного неясен. Я не вижу ошибки в вашем синтаксисе. Поэтому я не понимаю, что не так и что вы предпочли бы в качестве лучшего результата. Если бы вы могли быть более ясны в этом, я думаю, вы получили бы решение.
2. Была
LFET JOIN providers ON favourites.idProv=providers.idProv
ли ошибка ввода здесь на SO? Access раздражает, требуя круглых скобок вокруг соединений — di вы создаете соединения в конструкторе, чтобы проверить эту часть синтаксиса? Обратите внимание, вы можете отредактировать свой собственный пост, чтобы исправить LFET, если это не проблема.3. @tgolisch: если я выполню этот запрос из Access, отобразится окно сообщения с такой ошибкой: «Выражение соединения не поддерживается». Я хочу отобразить все статьи, хранящиеся в таблице «избранное». Если в этих статьях связаны счета-фактуры (таблица «счета-фактуры») и поставщики (таблица «поставщики»), я тоже хочу отобразить.
4. @phaedra: извините, обновил сообщение.
5. Вы пытались добавить еще одно левое соединение из
artProv to providers
?