Одним запросом вынуть по двум разным where (например склад-ИЗ и склад-В)

Conspirolog

Новичок
Одним запросом вынуть по двум разным where (например склад-ИЗ и склад-В)

Добрый день.
Есть таблица Склады (упрощенно)

wh_id - ид
wh_name - имя

Есть таблица Движение (упрощенно)

move_id - ид операции движения
wh_id_from - ид склада-откуда
wh_id_to - ид склада-куда

Скажите, есть ли возможность вынуть одним запросом (с выниманием записи из Движения) название (wh_name) склада-источника И склада-приемника?

то есть к
SELECT move.* FROM move move

получить наименования ОБОИХ складов одним запросом?

Спасибо большое.
 

Conspirolog

Новичок
Эээм.... в move нет wh_name.. там только ID складов (двух - откуда и куда). Сейчас процесс получения данных заключается в следующем:
1) получить данные таблицы MOVE:
SELECT * FROM move WHERE move_id = 123
далее допустим $line содержит результат этого запроса

2) получить инфу по warehouse-источнику:
SELECT * FROM wh WHERE wh_id = $line['wh_id_from']

3) получить инфу по warehouse-приемнику:
SELECT * FROM wh WHERE wh_id = $line['wh_id_to']


Вопрос: можно ли эти 3 запроса объединить в один? Теоретически это выглядит как WHERE для одного поля одной таблицы одновременно по разным полям другой, но ведь это невозможно...
 

chira

Новичок
Код:
SELECT 
  w1.wh_name AS wh_name_from
 ,w2.wh_name AS wh_name_to
FROM move m
  ,wh w1
  ,wh w2
WHERE m.move_id = 123
  AND w1.wh_id = m.wh_id_from
  AND w2.wh_id = m.wh_id_to
 

Quessir

Новичок
Какого хера у тя в пунктах 2 и 3.

SELECT * FROM move m, wh w
WHERE ( m.move_id=123
AND
(w.wh_id=m.wh_id_from OR w.wh_id=m.wh_id_to)
);

Вот так попробуй.

-~{}~ 29.01.07 04:21:

Аааа. Если wh1 и wh2, то предыдущий пост.

-~{}~ 29.01.07 04:22:

Блин. Ваще запутался!
 
Сверху