Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / выборка по нахождению постоянных / 5 сообщений из 5, страница 1 из 1
29.01.2014, 18:41:05
    #38542630
al2
al2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка по нахождению постоянных
Здравствуйте , прошу помощи .....

есть таблица , 2 столбца .
столб1 | столб2
---------------------
1 | 1
1 | 2
1 | 3
1 | 4
2 | 1
2 | 2
2 | 4
3 | 1
3 | 3
3 | 4
......... и тд.

надо написать запрос такой, чтобы при заданных значениях `столб1` , выбирались значения из `столб2` которые повторяются при всех значениях `столб1` .
То есть мы пишем например какой-то запрос где `столб1` in ('1','2','3') , и при нашей таблице должно выпасть 1 и 4 . так как только эти цифры встречаются при `столб1` in ('1','2','3') .
Примерно как-то так )

select `столб2` from `таблица` where `столб1` in ('1','2','3') and `столб2` ???????

спасибо
...
Рейтинг: 0 / 0
29.01.2014, 19:00:57
    #38542655
al2
al2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка по нахождению постоянных
решение нашел тока такое:

select `столб2` form `таблица`
where
`столб2` in (select `столб2` form `таблица` where `столб1`= '1') and
`столб2` in (select `столб2` form `таблица` where `столб1`= '2') and
`столб2` in (select `столб2` form `таблица` where `столб1`= '3')

но оно не красивое и тормозное (
...
Рейтинг: 0 / 0
29.01.2014, 19:31:28
    #38542678
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка по нахождению постоянных
Код: sql
1.
2.
3.
4.
 select field2
 from table
 group by field2
 having count(distinct field1) = (select count(distinct field1) from table);
...
Рейтинг: 0 / 0
29.01.2014, 20:30:32
    #38542739
deblogger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка по нахождению постоянных
По-моему тут типичная одно-табличная иерархия которая канонично требует join'ов по алиасам.
...
Рейтинг: 0 / 0
30.01.2014, 09:32:34
    #38543088
al2
al2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка по нахождению постоянных
Спасибо!
Код: sql
1.
2.
3.
4.
 select `field2`
 from `table` where `field1` in ('1','2','3')
 group by `field2`
 having count(distinct `field1`) = (select count(distinct `field1`) from `table` where `field1` in ('1','2','3'))


('1','2','3') - указываем строки где смотреть
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / выборка по нахождению постоянных / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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