problem podvrste skolski je sledeci:potrebno je napraviti sp koja ce traziti da li postoje korisnici koji su posjecivali iste servere/ipadrese,procedura mora da podrzava unos 8 korisnika.
Ipadrese korisnika i servera su smjestene u tabeli Ipnimber (ipadresa_klijent,ipadresa_adresa). Evo primjera kako sam uradio za dva korisnika. Problem se svodi se na trazenje presjeka skupova
izmedju 2 tabele. Pokusao sam ovom metodom uraditi query za 8 klijenata medjutim, dobija se ogromna i kabasta skripta,pa mi treba elegantnije rjesenja. Ako neko ima kakav prijedlog,neka se javi,zahvaljujem.
/*tabela sa ipadresama*/
create table ipnumber
(
ipadresa_klijent varchar (32),
ipadresa_adresa varchar (32)
)
INSERT INTO ipnumber values (22222,33333)
INSERT INTO ipnumber values (55555,12345)
INSERT INTO ipnumber values (22222,54321)
INSERT INTO ipnumber values (11111,88888)
INSERT INTO ipnumber values (99999,88888)
INSERT INTO ipnumber values (12345,22222)
/*Primjer za dva korisnika,korisnik1 ima adresu 22222,korisnik2 ima adresu 55555*/
create table test1
(
broj varchar (32)
)
create table test2
(
broj varchar (32)
)
insert into test1
select ipadresa_klijent from ipnumber where ipadresa_adresa like '%55555'
union all
select ipadresa_adresa from ipnumber where ipadresa_klijent like '%55555'
insert into test2
select ipadresa_klijent from ipnumber where ipadresa_adresa like '%22222'
union all
select ipadresa_adresa from ipnumber where ipadresa_klijent like '%22222'
select distinct (broj) from test1 t1
where exists
(select broj from test2 where broj= t1.broj)
/*Kao rezultat dobijemo:
broj
12345
sto je zajednicka ipadresa za 22222 i 55555*/