| 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 |
|
| |