2013-09-28 1 views
0

Я хочу заказать по цене. Но я получаю цену от двух разных таблиц и сравниваю ее, чтобы получить минимальную цену и распечатать ее, если цена выше 0. Также возможно, что цена присутствует только в одной базе данных. Грубая структура моего кода:Как я должен заказывать по цене в этом случае

query1 = choose products 

while = fetch the products details { 

query2 = get the price1, order by price1 
query3 = get the price2, order by price2 

if statement to get the minimum price so price = minimum price 

if (price>0) { 
    echo product result 
} 

} 

Как я могу заказать результат в соответствии с ценой?

EDIT: Продукт уже выбран, я хочу получить цену изделий из двух различных цен таблицы

+0

Почему не один запрос, который получает оба продукта и цену за один раз, с предложением ORDER BY? –

+0

Хотите ли вы это в MySQL или PHP? Это можно сделать с помощью одного запроса MySQL. –

+0

может быть идея добавить тег mysql, так как ваш вопрос связан с mysql, а также – gwillie

ответ

0

Вы можете сделать это только один запрос, гораздо более эффективно:

SELECT `a`.*, LEAST(`b`.`price`,`c`.`price`) AS `price` 
FROM `products` `a` 
JOIN `price1` `b` ON `a`.`id`=`b`.`product_id` 
JOIN `price2` `c` on `a`.`id`=`c`.`product_id` 
WHERE `price`>0 
ORDER BY `price` ASC 

Регулировка по к таблицам и столбцам вашей базы данных.

+0

Товар уже выбран, я хочу приобрести цену продуктов из двух разных ценовых таблиц – wiki

+0

@wiki Затем используйте этот запрос как часть вашего продукта выберите, и у вас не возникнет проблем с сортировкой по цене –

Смежные вопросы