|
0 / 0 / 0
Регистрация: 24.08.2011
Сообщений: 242
|
|
SQL запрос выборка, помогите составить14.03.2012, 11:44. Показов 3868. Ответов 20
Метки нет (Все метки)
есть таблица в ней два поля:
первое id, второе id_code Вот примерно такая таблица id id_code 1 2 1 1 1 3 2 1 2 2 2 3 3 1 3 2 4 1 Надо сделать выборку: тоесть выбрать все id для которых id_code=1 id_code=2 id_code=3 результат для приведеного примера id=1 id=2
0
|
|
| 14.03.2012, 11:44 | |
|
Ответы с готовыми решениями:
20
Помогите составить SQL запрос Помогите составить SQL запрос Выборка данных в случайном порядке SQL запрос |
|
4 / 4 / 3
Регистрация: 25.05.2009
Сообщений: 2,576
|
|
| 15.03.2012, 00:23 | |
|
select * from tablename where (id_code=1 or id_code=2 or id_code=3)
0
|
|
|
0 / 0 / 0
Регистрация: 24.08.2011
Сообщений: 242
|
||
| 15.03.2012, 12:34 [ТС] | ||
Мне надо так select * from tablename where (id_code=1 [bold]and[/bold] id_code=2 [bold]and[/bold] id_code=3), тоесть выбрать те id для которых в базе есть запись id id_code=1 id id_code=2 id id_code=3
0
|
||
|
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
|
|
| 15.03.2012, 20:45 | |
|
Попробуй такой запрос
SELECT DISTINCT id FROM [italic]tableName[/italic] AS t1 WHERE t1.id_code=1 AND EXISTS (SELECT * FROM [italic]tableName[/italic] WHERE id=t1.id AND id_code=2) AND EXISTS (SELECT * FROM [italic]tableName[/italic] WHERE id=t1.id AND id_code=3) Тебе нужно будет заменить tableName (выделено курсивом) на имя своей таблицы.
0
|
|
|
4 / 4 / 3
Регистрация: 25.05.2009
Сообщений: 2,576
|
|
| 16.03.2012, 21:18 | |
|
bazile > а почему ты решил, что у автора темы скл-сервер?
![]() или ты уже перестроился на 5-ю версию мускла?
0
|
|
|
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
|
|
| 17.03.2012, 13:32 | |
|
2 sl_play
Я понял что вопрос по MySql ![]() Просто я мало с ним работаю и могу ошибаться в плане поддержки им некоторых возможностей. Попытка не пытка в общем
0
|
|
|
0 / 0 / 0
Регистрация: 24.08.2011
Сообщений: 242
|
||
| 19.03.2012, 14:17 [ТС] | ||
Дело в том, что в моей базе более 1132454 записей. В результате комп виснет.
0
|
||
|
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
|
||||||||
| 19.03.2012, 15:25 | ||||||||
0
|
||||||||
|
0 / 0 / 0
Регистрация: 24.08.2011
Сообщений: 242
|
|
| 19.03.2012, 16:17 [ТС] | |
|
Почему не работает select * from tablename where (id_code=1 and id_code=2 and id_code=3)?
Какую СУБД посоветуеш для базы, где более 1000000 записей. Несколько слов о MSSQL (что ето и для кого)
0
|
|
|
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
|
||||
| 19.03.2012, 16:27 | ||||
Это примерно, как если бы ты писал такой код на PHP $id_code = 1; if ($id_code==1 && $id_code==2 && $id_code==3) { echo "Почему на экран ничего не выводится?"; } Эта ситуация, кстати, может говорить о том что ты неправильно спроектировал структуру данных в БД.
Если не справляется, то тут может быть много причин: - плохая структура таблиц в базе данных - плохо настроенные или отсутствующие индексы для таблиц - слабое "железо"
0
|
||||
|
0 / 0 / 0
Регистрация: 24.08.2011
Сообщений: 242
|
|
| 19.03.2012, 16:48 [ТС] | |
|
Спасибо за советы
Буду мучить SELECT DISTINCT id FROM tableName AS t1 WHERE t1.id_code=1 AND EXISTS (SELECT * FROM tableName WHERE id=t1.id AND id_code=2) AND EXISTS (SELECT * FROM tableName WHERE id=t1.id AND id_code=3)
0
|
|
|
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
|
|
| 19.03.2012, 17:23 | |
|
Вот точно работащий вариант (не знаю почему я сразу до него не додумался)
SELECT DISTINCT t1.id FROM tableName AS t1 JOIN tableName t2 ON (t1.id = t2.id AND t2.id_code=2) JOIN tableName t3 ON (t1.id = t3.id AND t3.id_code=3) WHERE t1.id_code=1 И еще один рабочий вариант предоженный моим другом SELECT id, count(id_code) AS count_id FROM tableName GROUP BY id HAVING count_id = 3
0
|
|
|
0 / 0 / 2
Регистрация: 11.12.2008
Сообщений: 219
|
|
| 20.03.2012, 13:27 | |
|
to XXXXXXX: Проставь индексы на "id", "id_code" и пользуйся лимитом, при твоих объемах может виснет не мускул а броузер например.
0
|
|
|
0 / 0 / 2
Регистрация: 11.12.2008
Сообщений: 219
|
|
| 20.03.2012, 13:31 | |
|
Мне больше понравился вариант "друга bazile", а то тройное объединение при таких объемах может и "нагнуть" сервак базы
0
|
|
|
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
|
||
| 20.03.2012, 13:38 | ||
![]() На небольших объемах разницы не видно, а на больших могут начаться тормоза. В любом случае пусть XXXXXXX попробует и расскажет нам какой вариант у него быстрее работает.
0
|
||
|
0 / 0 / 0
Регистрация: 24.08.2011
Сообщений: 242
|
||
| 20.03.2012, 13:59 [ТС] | ||
0
|
||
|
0 / 0 / 0
Регистрация: 24.08.2011
Сообщений: 242
|
|
| 20.03.2012, 14:02 [ТС] | |
|
Когда будет работать я напишу ка и что! Всем спасибо!
0
|
|
|
0 / 0 / 0
Регистрация: 24.08.2011
Сообщений: 242
|
|
| 20.03.2012, 20:05 [ТС] | |
|
SELECT id, count(id_code) AS count_id FROM tableName GROUP BY id HAVING count_id = 3 (6.1479 сек) ето не подходящий результат
Что еще можно сделать? Я уже все по SQL перерыл!
0
|
|
|
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
|
|
| 21.03.2012, 10:15 | |
|
А вариант с JOIN сколько работает?
0
|
|
|
0 / 0 / 0
Регистрация: 24.08.2011
Сообщений: 242
|
||
| 21.03.2012, 11:04 [ТС] | ||
0
|
||
| 21.03.2012, 11:04 | |
|
Помогаю со студенческими работами здесь
20
Помогите составить SQL запрос Помогите составить sql запрос помогите составить SQL-запрос помогите составить SQL-запрос, совсем туплю :)) Помогите группе одиноких чайников составить SQL запрос Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
||||
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга,
Ты же видел моря и метели.
Как сменялись короны и стяги,
Как эпохи стрелою летели.
- Этот мир — это крылья и горы,
Снег и пламя, любовь и тревоги,
И бескрайние. . .
|
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1
У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\
А в самом низу файла-профиля. . .
|
PowerShell и онлайн сервисы. Валюта (floatrates.com руб.)
iNNOKENTIY21 11.11.2025
PowerShell функция floatrates-rub
Примеры вызова:
# Указанная валюта 'EUR'
floatrates-rub -Code 'EUR'
# Список имеющихся кодов валют
floatrates-rub -Available
function floatrates-rub {
|
PowerShell и онлайн сервисы. Погода (RP5.ru)
iNNOKENTIY21 11.11.2025
PowerShell функция Get-WeatherRP5rss для получения погоды с сервиса RP5
Примеры вызова
Get-WeatherRP5rss
с указанием id 5484 — Москва (восток, Измайлово) и переносом строки:. . .
|
|
PowerShell и онлайн сервисы. Погода (wttr)
iNNOKENTIY21 11.11.2025
PowerShell Функция для получения погоды с сервиса wttr
Примеры вызова:
Погода в городе Омск с прогнозом на день, можно изменить прогноз на более дней, для этого надо поменять запрос:. . .
|
PowerShell и онлайн сервисы. Валюта (ЦБР)
iNNOKENTIY21 11.11.2025
# Получение курса валют
function cbr (] $Valutes = @('USD', 'EUR', 'CNY')) {
$url = 'https:/ / www. cbr-xml-daily. ru/ daily_json. js'
$data = Invoke-RestMethod -Uri $url
$esc = 27
. . .
|
И решил я переделать этот ноут в машину для распределенных вычислений
Programma_Boinc 09.11.2025
И решил я переделать этот ноут в машину для распределенных вычислений
Всем привет. А вот мой компьютер, переделанный из ноутбука.
Был у меня ноут асус 2011 года. Со временем корпус превратился. . .
|
Мысли в слух
kumehtar 07.11.2025
Заметил среди людей, что по-настоящему верная дружба бывает между теми, с кем нечего делить.
|
Новая зверюга
volvo 07.11.2025
Подарок на Хеллоуин, и теперь у нас кроме Tuxedo Cat есть еще и щенок далматинца:
Хочу еще Симбу взять, очень нравится. . .
|