| Subiectul anterior :: Subiectul următor |
| Autor |
Mesaj |
kleampa
Data înscrierii: 10/Iul/2005
Mesaje: 2115
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: 374
|
| 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: 374
|
| 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: 2115
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: 374
|
| 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: 2115
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: 321
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: 2115
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: 374
|
| 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: 2115
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: 374
|
| 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: 2115
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 |
|
| |