Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / два count в sql из 3-х таблиц / 8 сообщений из 8, страница 1 из 1
24.08.2013, 17:44:33
    #38376602
olegt2009
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
два count в sql из 3-х таблиц
Коллеги, подскажите как составить запрос

Есть

таблицы

listings
--------
listing_id

bids
--------
bid_id
listing_id

comments
---------
comment_id
listing_id

Значения

listings
--------
1

bids
--------
1,1
2,1
3,1

comments
---------
1,1
2,1
3,1

Надо посчитать сколько бидов и комментариев в листингах

Пишу

SELECT listing_id, count(bids.listing_id),count(comments.listing_id)
from listing,bids,commnets
where listing.listing_id = bids.listing_id and listing.listing_id = comments.listing_id

выдает 1,9,9 а надо 1,3,3

Элементарщина, а заклинило ...

Подскажите плиз ...
...
Рейтинг: 0 / 0
24.08.2013, 17:54:52
    #38376608
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
два count в sql из 3-х таблиц
Считать надо отдельно:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
select listing_id
,sum(case when qwe=1 then c else 0 end)
,sum(case when qwe=2 then c else 0 end)
from (
 SELECT 1 qwe,listing_id, count(bids.listing_id) c
 from listing,bids
 where listing.listing_id = bids.listing_id
 UNION ALL
 SELECT 2,listing_id, count(comments.listing_id)
 from listing,commnets
 where listing.listing_id = comments.listing_id
) t0
group by 1
...
Рейтинг: 0 / 0
24.08.2013, 17:55:24
    #38376609
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
два count в sql из 3-х таблиц
Есть ещё вариант с дистинктами, но он имхо интуитивно менее понятен...
...
Рейтинг: 0 / 0
24.08.2013, 18:00:16
    #38376610
olegt2009
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
два count в sql из 3-х таблиц
Запрос однако ... а интересно, проще никак ?
...
Рейтинг: 0 / 0
24.08.2013, 18:01:29
    #38376611
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
два count в sql из 3-х таблиц
olegt2009, если придумаете попроще - отпишитесь тут.
...
Рейтинг: 0 / 0
24.08.2013, 18:15:55
    #38376616
olegt2009
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
два count в sql из 3-х таблиц
tanglir,

Спасибо большое :)
...
Рейтинг: 0 / 0
24.08.2013, 20:14:23
    #38376646
Cygapb-007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
два count в sql из 3-х таблиц
tanglirolegt2009, если придумаете попроще - отпишитесь тут.оки
Код: sql
1.
2.
3.
4.
select *
  ,(select count(*) from bids where listing_id=l.listing_id)qty_bids
  ,(select count(*) from comments where listing_id=l.listing_id)qty_comments
from listings l;
...
Рейтинг: 0 / 0
24.08.2013, 20:40:19
    #38376655
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
два count в sql из 3-х таблиц
Cygapb-007, это "покороче". Насчёт "попроще" я не уверен
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / два count в sql из 3-х таблиц / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]