Forumul SoftpediaBursa auto / moto / veloAnunƣuri imobiliareAnunƣuriOferte de serviciiLocuri de muncă Ɵi cursuri de specializareBloguriJocuriTeste / ReviewsÎntrebări Ɵi răspunsuriChestionareFotoStatistici

Bine ai venit ( Autentificare | Înregistrare )

 
Reply to this topicStart new topic
> Oracle Query, QUERY PENTRU DUPLICATE
whiteone
mesaj 5th November 2009, 22:06
Mesaj #1


Junior

Grup: Members
Mesaje: 6
Data înscrierii: 17-April 05
ID membru: 34 920





Salut,
Am si eu o problema cu un query nu reusesc sa-mi dau seama cum se face.
Trebuie sa afisez duplicatele dintr-o tabela in functie de o conditie where,adica doar duplicatele care respecta conditia where.

tabel t1
col1 col2 col3
ana marcel 2
ionut marcel 2
ana marcel 3

conditia de where ar fi cam asa coloana col1=col1 si col2=col2

vreau sa-mi afiseze
ana marcel 2
ana marcel 3

Multumesc.
Go to the top of the page
 
+Quote Post
pixecs
mesaj 5th November 2009, 23:45
Mesaj #2


Junior

Grup: Members
Mesaje: 65
Data înscrierii: 11-July 09
ID membru: 483 994



Daca pui o coloana autoincrement - primary key, sa zicem recordid, interogarea este:
select * from t1 tb1
inner join t1 tb2 on tb1.col1 = tb2.col1 and tb1.col2 = tb2.col2
where tb1.recordid != tb2.recordid

Sau daca coloana a treia este diferita pe fiecare inregistrare:
select * from t1 tb1
inner join t1 tb2 on tb1.col1 = tb2.col1 and tb1.col2 = tb2.col2
where tb1.col3 != tb2.col3


Acest mesaj a fost modificat de pixecs: 5th November 2009, 23:48
Go to the top of the page
 
+Quote Post
whiteone
mesaj 5th November 2009, 23:58
Mesaj #3


Junior

Grup: Members
Mesaje: 6
Data înscrierii: 17-April 05
ID membru: 34 920



CITAT (pixecs @ 5th November 2009, 22:45) *
Daca pui o coloana autoincrement - primary key, sa zicem recordid, interogarea este:
select * from t1 tb1
inner join t1 tb2 on tb1.col1 = tb2.col1 and tb1.col2 = tb2.col2
where tb1.recordid != tb2.recordid

Sau daca coloana a treia este diferita pe fiecare inregistrare:
select * from t1 tb1
inner join t1 tb2 on tb1.col1 = tb2.col1 and tb1.col2 = tb2.col2
where tb1.col3 != tb2.col3



Da o sa ma gandesc la un self join poate dupa rowid .. amintesc ca am nevoie de query pentru oracle.
Multumesc.
Go to the top of the page
 
+Quote Post
The@ngel
mesaj 6th November 2009, 09:51
Mesaj #4


Member

Grup: Members
Mesaje: 799
Data înscrierii: 7-August 03
Locație: In fata calculatorului
ID membru: 5 353



Poti sa incerci si asa:

CODSURSA
SELECT *
FROM t1
WHERE (col1, col2) IN (SELECT col1, col2 FROM t1 GROUP BY col1, col2 HAVING COUNT(*) > 1)

este SQL standard ... ar trebuii sa mearga si pe ORACLE.
Go to the top of the page
 
+Quote Post
Reclama
mesaj A minute ago
Mesaj #




Grup: Bot






In curand... autoevolution.ro

Teste, stiri, ghiduri, jurnale, forum si multe altele!
Go to the top of the page
 

Reply to this topicStart new topic
1 utilizatori citesc acest subiect (1 utilizatori neautentificați și 0 anonimi)
0 Membri:

 

RSS Versiune simplificată Data: 24th November 2009 - 21:57
© 2001 - 2009 Softpedia. All rights reserved.
Softpedia® and Softpedia logo are registered trademarks of Soft News NET SRL.
Privacy Policy | Terms of Use | Contact Softpedia