SQL-запрос для выбора общих значений - PullRequest
0 голосов
/ 15 ноября 2011

У меня есть таблица с IP-адресами и именами пользователей.GUI был разработан для выбора этих значений.IP-адрес - это поле выбора, из которого мы можем выбрать несколько IP-адресов, а поле имени пользователя - это раскрывающийся список, из которого мы можем выбрать только одно имя пользователя.

Таблица содержит комбинации IP-адресов и имен пользователей, но когда пользователь выбирает несколькоIP-адреса, в раскрывающемся списке имен пользователей должны быть указаны только имена пользователей, которые являются общими для выбранных нескольких IP-адресов.Есть ли способ написать SQL для него, или я должен пойти с подходом PL / SQL или подходом программирования.

PS: я использую базу данных db2

Ответы [ 2 ]

0 голосов
/ 15 ноября 2011
select name, count(*) from users
where ip in (?,?,?)
group by name
having count(*)=?

Обратите внимание, что этот запрос должен генерироваться динамически ... ожидается, что значение count (*) будет соответствовать количеству IP-адресов в предложении IN.

0 голосов
/ 15 ноября 2011

Это еще один запрос, который вы можете использовать

SELECT t1.username 
FROM ip_table AS t1 
    JOIN ip_table AS t2 
    ON  t1.`username` = t2.`username`
AND t1.ip = <ip1> AND t2.ip = <ip2> ... etc
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...