Salut,
Va rog ajutati-ma si pe mine cu o interogare intr-un MYSQL. Am 2 tabele tabelul societati:
id | nume_soc
1 | SC TEST SRL
2 | SC TEST1 SRL
si un tabel comenzi:
id_soc | produs | status
1 | Filru | 1
1 | Bieleta | 1
1 | Rulment | 0
2 | Macara | 1
1 | Ulei | 0
Fac interogarea cu php si generez un tabel in care afisez toate societatile din tabelul "societati" si vreau sa evidentiez cu rosu societatile care au status = 0 in tabela comenzi insa vreau sa apara doar o singura data societatea in tabelul generat chiar daca exista mai multe inregistrari in tabela comenzi cu status = 0, daca apare cel putin o data status = 0 sa o evidentiez cu rosu asta insemnand ca societatea are una sau mai multe comenzi deschise.
Multumesc mult pentru ajutor!
Problema interogare MYSQL
Moderatori: Zamolxe, Moderatori
Re: Problema interogare MYSQL
Arunca o privire peste SQL JOINS, vei intelege despre ce este vorba.Aceste conditii de alaturare ( JOINS ) iti permit sa te folosesti de relatiile intre mai multe tabele pentru a prelua un set de rezultate.
Ti-am facut ceva aici, sper sa te ajute.
http://sqlfiddle.com/#!9/baf863/1
Ti-am facut ceva aici, sper sa te ajute.
http://sqlfiddle.com/#!9/baf863/1
Mobila la comanda http://mobilacupersonalitate.ro
-
- PHPRomania Supporter
- Mesaje: 9
- Membru din: Lun Aug 08, 2016 10:59 am
Re: Problema interogare MYSQL
Salut,
Pentru afisare societati cu cel putin o comanda cu status 0 as sugera de fapt structurat putin diferit sql-ul lui @takedown, in felul de mai jos.De ce? E vorba de logica, desi rezultatul este acelasi in acest caz,pe viitor s-ar putea sa intampini unele probleme deoarece tu ai nevoie sa afisezi societatile in functie de comenzi ci nu comenzile in functie de societati,astfel Table A = tabela societati INNER JOIN Table B = tabela comenzi.Si eu te-as sfatui sa dai un ochi peste tipurile de JOINS ca sa intelegi de ce INNER ci nu LEFT,RIGHT,OUTER,etc.
http://sqlfiddle.com/#!9/e5bedf/3
Pentru afisare societati cu cel putin o comanda cu status 0 as sugera de fapt structurat putin diferit sql-ul lui @takedown, in felul de mai jos.De ce? E vorba de logica, desi rezultatul este acelasi in acest caz,pe viitor s-ar putea sa intampini unele probleme deoarece tu ai nevoie sa afisezi societatile in functie de comenzi ci nu comenzile in functie de societati,astfel Table A = tabela societati INNER JOIN Table B = tabela comenzi.Si eu te-as sfatui sa dai un ochi peste tipurile de JOINS ca sa intelegi de ce INNER ci nu LEFT,RIGHT,OUTER,etc.
Cod: Selectaţi tot
SELECT
*
FROM
societati AS s
INNER JOIN comenzi AS c ON c.id_soc = s.id
WHERE c.status = 0
GROUP BY s.id
http://sqlfiddle.com/#!9/e5bedf/3
Re: Problema interogare MYSQL
Multumesc mult @Memphistoles este ok acum interogarea, greseala mea era ca nu le grupam si imi dubla sau tripla numele societatii in tabel functie de cate comenzi gasea pentru respectiva societate. Multumesc inca o data si va doresc tuturor un Craciun si un an nou cu multe bucuri si multa sanatate!!!!
-
- PHPRomania Supporter
- Mesaje: 9
- Membru din: Lun Aug 08, 2016 10:59 am
Re: Problema interogare MYSQL
biscuite scrie:Multumesc mult @Memphistoles este ok acum interogarea, greseala mea era ca nu le grupam si imi dubla sau tripla numele societatii in tabel functie de cate comenzi gasea pentru respectiva societate. Multumesc inca o data si va doresc tuturor un Craciun si un an nou cu multe bucuri si multa sanatate!!!!
N-ai pentru ce,sarbatori fericite
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 16 vizitatori