![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите с 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