Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите с SQL-запросом. [MySQL]


Zahar ©   (2005-05-27 01:11:00) 

Момогите создать запрос.

Есть 2 таблицы:

+-------------+
| CarId       |
+-------------+
| ModelId     |
+-------------+
| Price       |
+-------------+

+-------------+
| ModelId     |
+-------------+
| ModelName   |
+-------------+

Нужно подсчитать кол-во автомобилей каждой модели.

Мне на ум приходит только подсчет типа:

SELECT COUNT(*) AS TOT FROM <TABLE_1> WHERE ModelId=<MODEL_1>
SELECT COUNT(*) AS TOT FROM <TABLE_1> WHERE ModelId=<MODEL_2>
...
SELECT COUNT(*) AS TOT FROM <TABLE_1> WHERE ModelId=<MODEL_N>


Но придется делать таких запросов столько, сколько видов моделей у меня есть во второй таблице.

Может есть вариант как это сделать одним запросом или я хочу невозможное?


Sergey13   (2005-05-27 11:50:00) [1]

2 [9] ANB ©   (27.05.05 11:43)
<offtop>
Мне вообще кажется что это правило должно носить рекомендательный характер. Я может и сам не попрусь во всякие "Хелп" и "Помогите". Но с другой стороны - бывают вопросы действительно не знаешь как назвать.
ИМХО.
Еще раз сори.
Наверное в Потрпаться надо переносить. 8-)
</offtop>


ANB   (2005-05-27 11:43:00) [2]

<offtop>

> а как бы ты сформулировал название для этой ветки конкретно

С одной стороны ты прав. А с другой - только на первой странице - 3 одинаковых сабжа "Помогите составить запрос".
Может попросить админов сделать отдельную конференцию для таких сабжей ? Причем в вопросе даже ТЗ толком не сформировано. Мне не влом размять мозги и написать запрос, но как отвечать то ? В этой ветке вопрос задан корректно, можно было вытащить часть в сабж. Но автор не читал книжек и док по SQL.
</offtop>


Sergey13   (2005-05-27 11:33:00) [3]

2[4] panov ©   (27.05.05 11:13)
Я тоже задолбался уже сегодня в базы по напрасну постить. 8-)
Мне интересно, а как бы ты сформулировал название для этой ветки конкретно. Просто для образца.
Сори за офтоп.


Lexer   (2005-05-27 11:21:00) [4]

SELECT T2.ModelID, T2.ModelName, COUNT(T1.CarId)
FROM TABLE_1 T1
INNER JOIN TABLE_2 T2
ON T1.ModelID = T2.ModelID
GROUP BY T2.ModelID, T2.ModelName


Polevi   (2005-05-27 11:19:00) [5]

select modelid, count(*) from table1 group by modelid


ANB   (2005-05-27 11:15:00) [6]


> panov ©   (27.05.05 11:13) [4]
- а чего его обсуждать ? С утра еще закрывали. В правилах написано - сабж писать со смыслом. Мне чем "королевство" не нравится - то что там бестолковые сабжы.


panov   (2005-05-27 11:13:00) [7]

Ща ветку закроют

Пока нет.
но этот вопрос - о закрытии веток с подобными заголовками - обсуждается.


ANB   (2005-05-27 11:12:00) [8]

group by.
Ща ветку закроют. Тема не оформлена.


highlander   (2005-05-27 01:20:00) [9]

А еще верней будет так:
SELECT COUNT(TABLE_1.ModelId) AS TOT FROM TABLE_1,TABLE_2
WHERE TABLE_1.ModelId=TABLE_2.ModelId


highlander   (2005-05-27 01:18:00) [10]

Я конечно не уверен - но попробуй так
SELECT COUNT(*) AS TOT FROM TABLE_1,TABLE_2
WHERE TABLE_1.ModelId=TABLE_2.ModelId


Наверх

Титульная страница Поиск, карта сайта Написать письмо