1

Тема: Выбор данных из двух таблиц(обратный)

Есть две таблицы.
одна, где хранится данная о товаре. expired - значит срок действия аукциона истек. Оно может принимать еще значение activ, но это не важно.

+------+-----------+--------------+-------------------+
| ID    |     ITEM   |     NAME      |   ID_STATUS     |
+------+-----------+---------------+------------------+
|  1     |     73      |      Лопата   |   expirred          |
|  2     |     96      |     Ведро     |   expired           |
+------+-----------+--------------+-------------------+

вторая - таблицы, с продаными товарами. В нее копируются некоторые данные из первой таблицы, после того как ктонибудь покупает товар на аукционе.

+------+--------------+---------------------+
| ID    |     ITEM       |     ПОКУПАТЕЛЬ   |
+------+--------------+---------------------+
|  1     |     73          |           495           |
+------+--------------+---------------------+

В нашем случае, товар номер №73 был продан.
Но товар 96 нет.

ВОПРОС: Как лучше выбрать именно те данные на именно не проданый товар желательно в одном запросе MySQL

Вариант "Сделать в первой таблице дополнительное поле selled" - не предлагать smile

2

Re: Выбор данных из двух таблиц(обратный)

может надо проверять есть ли во второй таблице запись и если нет то выводить ее из первой

3

Re: Выбор данных из двух таблиц(обратный)

Alexander
Публикуй массам результат, знаю уже разобрался, но мои способы тоже должны работать. По крайней мере у меня то работают smile

4

Re: Выбор данных из двух таблиц(обратный)

MySQL - 4.0.27
Вот такой SQL нужен был:

$sql = "SELECT m.item, m.desc_title
      FROM table1 m LEFT JOIN table2 s ON s.item=m.item
      WHERE s.item IS NULL
      AND m.item_status = 'expired'";

Спасибо SatanaClause! Не без его помощи дошел до такого решения.
Есть еще одно решение. Но почему то в этой версии MySql не работает.
Вот так.