![]() |
|
Модераторы: skyboy |
![]()
|
|
| Gold Dragon |
|
||||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 2 Всего: 71 |
Есть два запроса:
Первый: получаем название модуля по ID
Второй получает количество таких модулей
Помогите объединить эти два запроса. И есть ли в этом смысл вообще? -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
||||
|
|||||
| Агрох |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 176 Регистрация: 6.4.2013 Где: Москва Репутация: 1 Всего: 6 |
Вложенный запрос и IN.
--------------------
Putin here, Putin there, Putin almost everywhere! |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Зачем IN-то? более того, зачем вообще нужно имя? таблица-то одна и та же...
Но если ID - ключ, то задача вообще лишена смысла... Думаю, надо больше рассказать об исходных данных. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Агрох |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 176 Регистрация: 6.4.2013 Где: Москва Репутация: 1 Всего: 6 |
Предположу. Есть таблица: id, module, someotherparam
1, модуль1, лалала 2, модуль2, тутуту 3, модуль1, кукуку 4, модуль1, мумуму 5, модуль2, гыгыгы ... Надо найти количество модулей с названием, таким же как в записи, где id = 3. --------------------
Putin here, Putin there, Putin almost everywhere! |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Ну тогда да, только лучше не IN, а равенство. Зачем формировать кэшируемую выборку, если в ней заведомо одна запись? А ещё лучше - подзапрос в качестве второй таблицы. Тогда сервер гарантированно должен понять, что это не коррелируемый подзапрос, а независимый. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Gold Dragon |
|
||||||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 2 Всего: 71 |
Уж куда проще написал Именно
Добавлено через 1 минуту и 11 секунд PS как проверить скорость и размер памяти базы при выполнении запросов -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
||||||
|
|||||||
| Akina |
|
||||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Что помешало самому так написАть?
Зачем? варианты запросов у тебя есть, сравнивай explain-ы. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||
|
|||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 2 Всего: 71 |
запрос Агрох`a работает. А вот последний вариант выдаёт
Ну неужели я бы стал задавать подобный вопрос если бы сам не помучился с пару часиков Понимаю что решение где-то близко, а вот с вложеннымим запросами туговато... Это сообщение отредактировал(а) Gold Dragon - 21.2.2014, 07:59 -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Друг мой, если Вам начали что-то отвечать - это не повод переставать думать самостоятельно... Сервер говорит, что у t3 нет поля по имени id. А что выбирается в этом t3? а там SELECT module.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 2 Всего: 71 |
Всем спасибо... PS да вот на иногда смотришь и не можешь увидеть элементарное решение... -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Агрох |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 176 Регистрация: 6.4.2013 Где: Москва Репутация: 1 Всего: 6 |
Уже отвык от того что в MySQL так можно. В некоторых других СУБД надо именно IN, даже если возвращает 1 значение. --------------------
Putin here, Putin there, Putin almost everywhere! |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MySQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |