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
 

Inregistrari unice
Vezi mesajul original

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



Data înscrierii: 02/Ian/2008
Mesaje: 112

Trimis: Joi Mar 06, 2008 9:56 am    Titlul subiectului: Inregistrari unice  

Salutare

Am un camp id_convorbire,ale carui valori pot fi duplicat sau unice si vreau sa le selectez pe toate o singura data,dar sa fie bagata ca,conditie,nu in select cu "select distinct".Aveti vreo idee?Ms


queryul este urmatorul:


$q="insert into convorbiri_temp (select null,
a.data data,
a.ora ora,
if(b.extensie is null ,a.extensie,b.extensie) extensie,
a.trunchi trunchi,
a.numar numar,
a.durata durata,
a.codacces codacces,
a.cd cd,
a.data_es data_es,
a.ora_es ora_es,
if(b.centrala is null ,a.centrala,b.centrala) centrala,
a.cdr_id cdr_id,
a.id_convorbire id_convorbire,
a.tip_inreg tip_inreg,
a.centrala centrala_out
from (SELECT * FROM ".$dbPBX.".".$tabel." where (id_convorbire<>0 and tip_inreg=3) or extensie=15 or (tip_inreg=0 and numar not like '%<D>%') or (tip_inreg=1 and id_convorbire=0) or (select * from ".$dbPBX.".".$tabel." where tip_inreg=1 and id_convorbire<>0 group by id_convorbire having count(id_convorbire)<2))a left join
(SELECT * FROM ".$dbPBX.".".$tabel." where id_convorbire<>0 and tip_inreg=1) b
on a.id_convorbire=b.id_convorbire
)";


La partea ingrosata imi da eroare
Ideea e ca vreau sa pastrez niste o singura inregistrare unde am id_convorbire identic(Left-joinul),iar unde am o singura inregistrare sa-mi ia tot(partea ingrosata)
Sus  
mihaitha



Data înscrierii: 04/Mai/2007
Mesaje: 1206
Locație: Sibiu

Trimis: Joi Mar 06, 2008 9:57 am    Titlul subiectului:  

Asta e mai degraba de mysql decat de php:
Cod:
SELECT DISTINCT id_convorbire FROM tabela
Sus  
gogu19



Data înscrierii: 02/Ian/2008
Mesaje: 112

Trimis: Joi Mar 06, 2008 9:59 am    Titlul subiectului:  

Scuze,e de mysql,nu se va mai repeta:D
Sus  
gogu19



Data înscrierii: 02/Ian/2008
Mesaje: 112

Trimis: Joi Mar 06, 2008 11:11 am    Titlul subiectului:  

Pai tocmai,ca nu vreau select distinct,am un left join f mare iar constructia lui nu-mi permite folosirea lui "select distinct"
Sus  
griffin



Data înscrierii: 07/Dec/2006
Mesaje: 74

Trimis: Joi Mar 06, 2008 11:17 am    Titlul subiectului:  

Pune un GROUP BY id_convorbire si-ti da cate un rand pentru fiecare id.Sper ca asta vroiai
Sus  
mihaitha



Data înscrierii: 04/Mai/2007
Mesaje: 1206
Locație: Sibiu

Trimis: Joi Mar 06, 2008 12:21 pm    Titlul subiectului:  

sorry, n-am vazut ca vrei fara select distinct.
Sus  
gogu19



Data înscrierii: 02/Ian/2008
Mesaje: 112

Trimis: Joi Mar 06, 2008 12:34 pm    Titlul subiectului:  

Am rezolvat-o pana la urma,am mai facut un query.Iniatial am vrut sa mai bag un inner join dar nu stiu daca merge sa folosesc si left join si inner join in aceasi interogare
Sus  
griffin



Data înscrierii: 07/Dec/2006
Mesaje: 74

Trimis: Joi Mar 06, 2008 7:47 pm    Titlul subiectului:  

Merge sa folosesti orice fel de join-uri vrei (inclusiv INNER JOIN si LEFT JOIN)
Exemplu http://dev.mysql.com/doc/refman/5.0/en/left-join-optimization.html
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 -> MySQL
Pagina 1 din 1


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