Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

SQL
Vezi mesajul original

 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> Alte baze de date
Subiectul anterior :: Subiectul următor  
Autor Mesaj
strategy



Data înscrierii: 19/Noi/2004
Mesaje: 351
Locație: Oradea

Trimis: Mie Dec 14, 2005 8:17 am    Titlul subiectului: SQL  

am o - tabela - cu campurile: id, nume, registru
id e unic incrementat

vreau sa-mi afiseze campurile unde registru este identic .. (un fel de functie care face inversul lui distinct)
poate careva din greseala o trecut la 2 nume diferite acelasi registru .. si nume ar trebui sa fie unic .. cine o facut scriptul nu a facut restrictii.
Sus  
ExcalIbvr



Data înscrierii: 02/Mai/2004
Mesaje: 1107
Locație: Oradea

Trimis: Mie Dec 14, 2005 8:27 am    Titlul subiectului:  

1. Pentru a preveni asta pe viitor, fa acel camp UNIQUE. Astfel, la un INSERT la care se incearca adaugarea unei valori deja existente, *affected_rows va returna 0.

2. Ex-burtis:
Cod: SELECT a.id FROM tabel a WHERE a.registru IN (SELECT b.registru FROM tabel b WHERE a.registru = b.registru);
Asa ceva...
Sus  
strategy



Data înscrierii: 19/Noi/2004
Mesaje: 351
Locație: Oradea

Trimis: Mie Dec 14, 2005 8:59 am    Titlul subiectului:  

am o tabela ... o singura tabela ... din care vreau sa scot acele campuri care au campul registru identic

ceva in genu SELECT NOT DISTINCT(registru) FROM tabela;

sau

if { count(distinct(registru)) != count(registru) } echo registru

astea asa de idee..
Sus  
ExcalIbvr



Data înscrierii: 02/Mai/2004
Mesaje: 1107
Locație: Oradea

Trimis: Mie Dec 14, 2005 9:24 am    Titlul subiectului:  

Si? Interogarea aia se face pe o tabela... o singura tabela :p. Ai rulat-o?

Iar daca vrei s-o faci din PHP, le selectezi pe toate si o treci prin array_unique().
Sus  
bond



Data înscrierii: 15/Dec/2004
Mesaje: 201

Trimis: Mie Dec 14, 2005 1:52 pm    Titlul subiectului:  

Incearca asa:
Cod: select * from tabela
group by registru
having count(id)=1;
Sus  
strategy



Data înscrierii: 19/Noi/2004
Mesaje: 351
Locație: Oradea

Trimis: Mie Dec 14, 2005 2:26 pm    Titlul subiectului:  

nu este solutia corecta
Excalibvr: listeaza tot ce gaseste in select .. adica identic cu SELECT * FROM tabela;
bond: listeaza liniiele care nu contine date identice adica SELECT DISTINCT..
Sus  
bond



Data înscrierii: 15/Dec/2004
Mesaje: 201

Trimis: Mie Dec 14, 2005 5:18 pm    Titlul subiectului:  

Poate asta te ajuta: Cod: select * from tabela where id not in
(select id from tabela group by registru having count(id)=1);
Sus  
strategy



Data înscrierii: 19/Noi/2004
Mesaje: 351
Locație: Oradea

Trimis: Mie Dec 14, 2005 6:13 pm    Titlul subiectului:  

solutie buna .. merci bond ..
Sus  
PHPRomania Bot
Bot Member


Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google
Trimis: Mie Dec 26, 2007 7:01 pm   Titlul subiectului: Ad  

Sus  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> Alte baze de date
Pagina 1 din 1


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community