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
 

un query mai neobisnuit
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
kleampa



Data înscrierii: 10/Iul/2005
Mesaje: 2165
Locație: Bucuresti

Trimis: Mie Noi 07, 2007 12:45 pm    Titlul subiectului: un query mai neobisnuit  

Nu stiu cum sa procedez in urmatoarea situatie:

ZONE
- id_zona
- id_localitate
- denumire

LOCALITATI
- id_localitate
- denumire

OFERTE
- id_oferta
- id_zona

Query-ul va trebuii sa se uita in OFERTE si sa-mi rezulte:

Localitate ORDER BY denumire ASC , Zona ORDER BY denumire ASC , id_oferta ORDER BY id_oferta DESC

Niste sfaturi mi-ar fi de ajutor.
Sus  
UnTip



Data înscrierii: 03/Mai/2007
Mesaje: 377

Trimis: Mie Noi 07, 2007 1:03 pm    Titlul subiectului:  

SELECT
a.id_zona,a.id_localitate,a.denumire,b.id_localitate,b.denumire,c.id_oferta,c.id_zona
from ZONE a, LOCALITATI b, OFERTE c

WHERE a.id_zona=c.id_zona

ORDER BY a.denumire ASC , b.denumire ASC , c. id_oferta DESC
Sus  
UnTip



Data înscrierii: 03/Mai/2007
Mesaje: 377

Trimis: Mie Noi 07, 2007 1:55 pm    Titlul subiectului:  

UnTip a scris: SELECT
a.id_zona,a.id_localitate,a.denumire,b.id_localitate,b.denumire,c.id_oferta,c.id_zona
from ZONE a, LOCALITATI b, OFERTE c

WHERE a.id_zona=c.id_zona and a.id_localitate=b.id_localitate

ORDER BY a.denumire ASC , b.denumire ASC , c. id_oferta DESC

later edit a.id_localitate=b.id_localitate
Sus  
kleampa



Data înscrierii: 10/Iul/2005
Mesaje: 2165
Locație: Bucuresti

Trimis: Mie Noi 07, 2007 1:56 pm    Titlul subiectului:  

in loc de a , b , c poate fi orice?
Sus  
UnTip



Data înscrierii: 03/Mai/2007
Mesaje: 377

Trimis: Mie Noi 07, 2007 1:59 pm    Titlul subiectului:  

a,b,c sunt alis-uri la tabelele respective deci teoretic ar putea fi orice
Sus  
kleampa



Data înscrierii: 10/Iul/2005
Mesaje: 2165
Locație: Bucuresti

Trimis: Lun Noi 26, 2007 4:57 pm    Titlul subiectului:  

mai vin cu o interogare mai ciudata

se dau 2 tabele


PRIMA
-id
-id_produs
-nivel

PRODUSE
-id_produs

am nevoie de produse ordonate dupa nivel DESC din PRIMA, insa nu toate produsele din PRODUSE au valori si in PRIMA

select * from produse,prima ORDER BY prima.nivel , ceva de genul asta
Sus  
jianuovidiu



Data înscrierii: 16/Mar/2006
Mesaje: 343
Locație: Bucharest

Trimis: Lun Noi 26, 2007 5:59 pm    Titlul subiectului:  

Cod:
SELECT
  p1.id_produs,p2.nivel
FROM
  produse p1 LEFT JOIN prima p2 ON p1.id_produs=p2.id_produs
ORDER BY
  nivel DESC
Sus  
kleampa



Data înscrierii: 10/Iul/2005
Mesaje: 2165
Locație: Bucuresti

Trimis: Mar Noi 27, 2007 11:06 am    Titlul subiectului:  

merge, insa imi scoate doar produsele care au un corespondent in tabelul PRIMA
ar trebuii sa mi le scoata pe toate , doar ordonarea sa o faca in functie de nivelul din PRIMA
Sus  
pentium10



Data înscrierii: 06/Sep/2006
Mesaje: 17

Trimis: Mar Noi 27, 2007 12:21 pm    Titlul subiectului:  

Cod:
SELECT
  p1.id_produs,p2.nivel
FROM
  produse p1 RIGHT JOIN prima p2 ON p1.id_produs=p2.id_produs
ORDER BY
  nivel DESC
Sus  
UnTip



Data înscrierii: 03/Mai/2007
Mesaje: 377

Trimis: Mar Noi 27, 2007 12:40 pm    Titlul subiectului:  

SELECT
p1.id_produs,p1.nivel
FROM
prima p1, produse p2
WHERE p1.id_produs=p2.id_produs
ORDER BY
p1.nivel DESC
Sus  
kleampa



Data înscrierii: 10/Iul/2005
Mesaje: 2165
Locație: Bucuresti

Trimis: Mar Noi 27, 2007 1:18 pm    Titlul subiectului:  

nu functioneaza nici cea cu RIGHT JOIN nici ultima pentru ca ar trebuii sa rezulte TOATE produsele nu DOAR cele care au corespondent in tab. PRIMA
Sus  
UnTip



Data înscrierii: 03/Mai/2007
Mesaje: 377

Trimis: Mar Noi 27, 2007 1:25 pm    Titlul subiectului:  

SELECT
p1.id_produs,p1.nivel
FROM
prima p1, produse p2
WHERE p1.id_produs=isnull(p2.id_produs,p1.id_produs)
ORDER BY
p1.nivel DESC

incearca asa sau cauta corespondenta functiei isnull pentry mysql... in sql server merge
Sus  
pentium10



Data înscrierii: 06/Sep/2006
Mesaje: 17

Trimis: Mar Noi 27, 2007 1:34 pm    Titlul subiectului:  

Cod: SELECT
  p2.id_produs,p1.nivel
FROM
  prima p1 RIGHT JOIN produse p2 ON p2.id_produs=p1.id_produs
ORDER BY
  p1.nivel DESC


The RIGHT JOIN returns all the rows from the second table, even if there are no matches in the first table. If there had been any rows in second that did not have matches in first, those rows also would have been listed.
Sus  
kleampa



Data înscrierii: 10/Iul/2005
Mesaje: 2165
Locație: Bucuresti

Trimis: Mar Noi 27, 2007 2:06 pm    Titlul subiectului:  

functioneaza ok varianta lui @pentium
in prima versiunea a lui , erau inversate tabelele si d-aia nu mergea

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