получить минимальную запись в запросе MySQL - PullRequest
0 голосов
/ 24 августа 2018

Привет, ребята. Я новичок в запросах, и у меня нет большого представления о том, как этого добиться.

У меня есть две таблицы продуктов и заказные продукты.Пользовательский продукт hv productid и количество.

id :  pid :  count : belong 
1      200      5 .   1
2      201      2     1
3      203      0 .   1
4      204      6 .   2

В таблице товаров есть информация о товаре, например, описание имени и т. Д.

Я пытаюсь сделать запрос, чтобы получить весь товар, которому они принадлежат, и наименьшее количество должно быть больше нуля.

в этом я хочу получить идентификатор продукта 201 в качестве результата.

Я пытаюсь получить запрос ниже

Select *
from product as e inner join
    `customproducts` AS `u`
     on u.product_id = e.id

, но здесь я получаю только запись продукта hv в таблице customproducts

Ответы [ 2 ]

0 голосов
/ 24 августа 2018

Вы можете использовать объединение с подзапросом для минимального количества> 0

Select *
from product as e 
inner join customproducts AS u  on u.product_id = e.id
inner join (
  select  min(count)  from customproducts min_count
  where count > 0
)  t on t.min_count  = u.count

и для идентичного идентификатора

Select *
from product as e 
inner join customproducts AS u  on u.product_id = e.id
inner join (
  select belong, min(count) min_count from customproducts 
  where count > 0
  group by belong
)  t on t.min_count  = u.count and t.belong= u.belong
0 голосов
/ 24 августа 2018

Попробуйте вот где cluase:

Select *
from product as e inner join
    `customproducts` AS `u`
     on u.product_id = e.id where count>0
...