» »

sql težava

sql težava

wind ::

Napisat moral ta query:
Izpiši imena trgovcev z najvišjim razmerjem med številom prodanih izdelkov in vsoto razdalj do kupcev.

Ni mi jasno kako v sql "definiram" z najvišjim razmerjem.
Z enim kverijem dobim število prodanih izdelkov na posameznega trgovca:
T1 6550
T2 2000
T3 xy

Z drugim pa vsoto razdalj do kupcev:
T1 500
T2 150
T3 xy

Sedaj me pa zanima kako moram združit ta dva kverija.
  • spremenil: wind ()

AndrejS ::

Oboje sedaj zdeliš (to je razmerje) in sortiraš po rezultato padajoče.
Sicer pa je težko pomagati če ne poznam tabel...

BigWhale ::

> Sedaj me pa zanima kako moram združit ta dva kverija.

Uhm..

WHERE ... AND ....

?

:))

ElectricMan ::

Nekaj takega

SELECT ime_trgovec,(SUM(razdalja)/COUNT(st_izdelkov)) as razmerje
FROM tabela
GROUP BY ime_trgovec

dmok ::

Še malo bolj na dolgo to, kar je napisal BigWhale: queryja združiš z JOINom.

SELECT
Q1.Trgovec,
Q1.SteviloProdanihIzdelkov / Q2.VsotaRazdalj AS Razmerje
FROM
(Query1) Q1,
(Query2) Q2
WHERE
Q1.Trgovec = Q2.Trgovec AND
Q2.VsotaRazdalj < > 0
ORDER BY
Q1.SteviloProdanihIzdelkov / Q2.VsotaRazdalj DESC

d.

wind ::

Hvala vsem za odgovore.

Rešil sem tako:
SELECT priimek FROM vsota_razdalj_do_kupcev_in_stevilo_proizvodov
WHERE vsota_razdalj_do_kupcev > 0
AND (stevilo_prodanih_proizvodov / vsota_razdalj_do_kupcev) =
(SELECT MAX(stevilo_prodanih_proizvodov / vsota_razdalj_do_kupcev)
FROM vsota_razdalj_do_kupcev_in_stevilo_proizvodov
WHERE vsota_razdalj_do_kupcev > 0);

icek ::

Delam en program za vodenje gimnasticne tekme.

imam sql query:
SELECT ekipa, SUM(part_kon) AS parter, SUM(konj_kon) AS konj, SUM(krogi_kon) AS krogi, SUM(pres_kon) AS preskok, SUM(brad_kon) AS bradlja, SUM(drog_kon) AS drog, (parter+konj+krogi+preskok+bradlja+drog) AS skupaj
FROM tekmovalec T, ekipe E, ocene O, kategorija K, tekmovanje Te
WHERE O.ID_tekmovalec=T.ID_tekmovalec
AND K.ID_kategorija=1
AND O.ID_tekma=Te.ID_tekma
AND Te.ID_tekma=5
AND T.ID_ekipa=E.ID_ekipa
AND O.ID_tekmovalec=T.ID_tekmovalec
GROUP BY ekipa;

v linijah part_kon, konj_kon...so lahko 3 ali 4 ocene.

Sedaj pa bi rad sledece:
- Ce so 3 ocene mi vse skupaj sesteje (primer zgoraj),
- Ce so 4 ocene sesteje 3 najvisje, najnizjo pa ignorira.

naprimer TOP 3 part_kon mi vrze ven 3 najvišje vrednosti (ocene)
sem probal se SUM(TOP 3 part_kon) pa mi ne dela.

Ima kdo idejo, kako bi to naredil s tem?
Upam da sem bil dovolj razumljiv. Z bazami delam prvic. Baza je accessova.
Rider of Theli
www.air-tv.net


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

matematično vprašanje o vesolju

Oddelek: Znanost in tehnologija
243915 (2939) Unknown_001
»

MSSQL pomoč

Oddelek: Programiranje
9733 (573) cobrica
»

Račun

Oddelek: Šola
171697 (1336) joze67
»

SQL vprašanje

Oddelek: Izdelava spletišč
302666 (2229) jerneju
»

[mysql] malo bolj zahtevna poizvedba

Oddelek: Programiranje
161589 (1440) destiny

Več podobnih tem