2014-02-14 3 views
0

родительской таблицу:граф несколько строк в таблице РЕГИСТРИРУЙТЕСЬ

adverts 
- id 

Детский стол:

advertsitems 
- id 
- advertid 
- price 
- quantity 

Я пытаюсь подсчитать количество на основе advertid, но почему-то я не могу заставить его работать , Это то, что у меня есть:

SELECT adverts.title AS adtitle, 
     adverts.id AS adid, 
     adverts.image AS image, 
     description, 
     price, 
     shipping, 
     customs, 
     createdate 
    FROM adverts 
     LEFT JOIN advertsitems 
        ON adverts.id = advertsitems.advertid 
GROUP BY adid 
ORDER BY adid DESC 

Я пытался добавить COUNT (advertsitems.quantity) и, но это не считается.

+0

вопрос структурирован плохо, но я думаю, вам нужно 'SUM'? – Alexander

ответ

0

Вы тянете поле price от advertsitems без агрегации. Это тянет цену из произвольной строки. Следующий запрос заменяет это на min(). Возможно, вам понадобится max(), или avg().

Я предполагаю, что все столбцы в select, за исключением цены, взяты из таблицы adverts. Они имеют префикс соответствующего псевдонима.

Наконец-то, я думаю, что вы хотите sum(quantity), а не count(quantity).

SELECT a.title AS adtitle, 
     a.id AS adid, 
     a.image AS image, 
     a.description, 
     sum(ai.quantity) as quantity 
     min(price) as LowestPrice, 
     a.shipping, 
     a.customs, 
     a.createdate 
    FROM adverts a LEFT JOIN 
     advertsitems ai 
     ON a.id = ai.advertid 
    GROUP BY a.id 
    ORDER BY a.id DESC 
+0

Эй, спасибо за ваш ответ! Я собираюсь попробовать ваш запрос и держать вас в курсе, я собираюсь в свой подарок прямо сейчас, спасибо! – Dylan

+0

Спасибо, что ваш запрос сработал для меня! У меня есть следующий вопрос, размещенный выше этого сообщения (был слишком длинным). – Dylan

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