[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как правильно собрать информацию из 2 таблиц?
BorodinKO
есть 2 таблицы, с продуктами и таблица с историей цен к ним:

product
id name
1 яблоко
2 груша
3 тыква


price
id product_id value
1 1 12
2 2 18
3 2 16
4 3 20
5 1 10


задача: Вывести список всех продуктов и их ценой (последней ценой(ценой с максимальным id) и максимальной ценой)

id name now_price max_price
1 яблоко 10 12
2 груша 16 18
3 тыква 20 20


SELECT `product`.*, `price`.value as now_price FROM product JOIN price ON `product`.id = `price`.value;

в итоге мне выводи "немного" не то что мне хотелось бы, пробовал писать DISTINCT(`product`.id) но это совершенно не повлияло на выдачу, и пробовал сделать еще с подзапросом но без успешно

id name now_price
1 яблоко 12
1 яблоко 10
2 груша 18
2 груша 16
3 тыква 20

Как отсечь лишние id. и разделить цены на последние и максимальные
Valick
SELECT t.name, p.value now_price, m.mv max_price
FROM (SELECT product_id, MAX(id) mid, MAX(value) mv
FROM price
GROUP BY product_id) m
LEFT JOIN price p
ON p.id = m.mid
LEFT JOIN product t
ON t.id = m.product_id


пробуйте
___
уже попробовал
name now_price max_price
яблоко 10 12
груша 16 18
тыква 20 20

_____________
Стимулятор ~yoomoney - 41001303250491
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.