我有一個具有IP地址和用戶名的表。 GUI已經被開發來選擇這些值。 IP地址是一個選擇字段,我們可以從中選擇多個IP地址,並且用戶名字段是一個下拉列表,我們只能從中選擇一個用戶名。用於選擇公用值的SQL查詢
該表格包含IP地址和用戶名的組合,但當用戶選擇多個IP地址時,用戶名下拉應該只填充所選多個IP地址中常見的用戶名。有沒有辦法爲它編寫SQL,或者我必須使用PL/SQL方法或編程方法。
PS:我使用的DB2數據庫
我有一個具有IP地址和用戶名的表。 GUI已經被開發來選擇這些值。 IP地址是一個選擇字段,我們可以從中選擇多個IP地址,並且用戶名字段是一個下拉列表,我們只能從中選擇一個用戶名。用於選擇公用值的SQL查詢
該表格包含IP地址和用戶名的組合,但當用戶選擇多個IP地址時,用戶名下拉應該只填充所選多個IP地址中常見的用戶名。有沒有辦法爲它編寫SQL,或者我必須使用PL/SQL方法或編程方法。
PS:我使用的DB2數據庫
這是你可以使用
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
select name, count(*) from users
where ip in (?,?,?)
group by name
having count(*)=?
注意必須動態生成此查詢...計數另一個查詢(*)值預計將匹配IN子句中的IP地址數量。