Здравствуйте!
уже голова кипит, помогите составить запрос более правильно к двум таблицам.
Имеются две таблицы: adress и zakaz
В таблице zakaz содержится pid_adress и pid_user
В таблице adress содержится code_adress и dostavka
таблица zakaz: таблица adress:
------------------------- -----------------------------
pid_adress | pid_user code_adress | dostavka
------------------------- -----------------------------
Теперь дальше, в таблицу zakaz делается запрос на выборку ВСЕХ заказов pid_user, хорошо. Выбираются все заказы.
Предположим их 100 штук.
Как составить запрос так, чтобы во вторую таблицу делался запрос с таким условием, если в таблице adress будут отсутствовать результаты к данному заказу?
я написал вот так, но не правильно это точно:
SELECT * FROM adress a INNER JOIN zakaz z ON z.pid_user = '2' AND z.pid_adress = a.code_adress
В этом выражении что - то не то, т.к. делаю прямой запрос в таблицу zakaz (с уникальным id пользователя - '2'):
SELECT * FROM zakaz z WHERE z.pid_user = '2'
Нашлось 100 заказов.
Делаю прямой запрос в таблицу adress, взятых вручную из таблицы zakaz - pid_adress (уникальный, допустим = 203, относящиеся к юзеру '2'):
SELECT * FROM adress a WHERE a.code_adress = '203'
В результате такого адреса не существует.
Вообще у пользователя с уникальным id - '2' не существует ни одного адреса в таблице adress, НО присутсвуют результаты в таблице zakaz.
Теперь поясню цель и суть данного:
Дело в том что адреса аннулируются автоматически, а заказы остаются (не скажу для чего, конфиденциальная информация). Требуется правильно вывести данные из таблицы adress, если как таковые в таблице присутствую данные.
Подскажите решение )