![]() |
Pages (2): « 1 [2] Show 150 posts per page |
.dsy:it. (http://www.dsy.it/forum/)
- Basi di dati ~ informatica triennale (http://www.dsy.it/forum/forumdisplay.php?forumid=211)
-- [SQL] Help query (http://www.dsy.it/forum/showthread.php?threadid=28938)
Approfitto ancora un pò della tua disponibilità.
Ti sembra giusta questa traduzione dello schema relazionale dato per la query in concettuale ?
Grazie
__________________
Non ti perdere di coraggio se ti tocca lavorare molto e raccogliere poco.....
Direi proprio di sì.
-- -- determinare il cf dei macchinisti che percorrono il maggior numero di linee diverse
select mx.cf
from (select num_lin_div.cf, count(*) as linee_div
from (select cf, nome_linea, count(*)
from percorrenza as p1
where exists (select *
from percorrenza as p2
where p1.cf=p2.cf and p1.nome_linea<>p2.nome_linea
)
group by cf, nome_linea
) as num_lin_div
group by num_lin_div.cf
) as mx
where mx.linee_div >= ALL (select max(mx.linee_div)
from (select num_lin_div.cf, count(*) as linee_div
from (select cf, nome_linea, count(*)
from percorrenza as p1
where exists (select *
from percorrenza as p2
where p1.cf=p2.cf and p1.nome_linea<>p2.nome_linea
)
group by cf, nome_linea
) as num_lin_div
group by num_lin_div.cf
) as mx
)
;
Scusa se mi riposto...ma
select a.cf from
(select cf, nome_linea, count(*) as conteggio from percorrenza group by cf, nome_linea) a
where a.conteggio >= all (select count(*) from percorrenza group by cf, nome_linea);
è troppo semplice per piacerti?
I macchinisti devono percorrere il maggior numero di linee DIVERSE.
Hai ragione.
Cambio:
select cf from
(
select cf, count(*) as conteggio from
(select distinct cf, nome_linea from percorrenza) a group by cf
) b
where conteggio >= ALL (
select count(*) as conteggio from
(select distinct cf, nome_linea from percorrenza) c group by cf
);
Che te ne pare?
Ok, va bene!
CLIENTE (Nr.telefono, Nome, Indirizzo)
ORDINE (Nr.telefono, Codice-Pizza, Codice-Operatore, Data, Costo)
PIZZA (Codice-Pizza, Nome, Prezzo)
Si richiede di formulare in SQL quanto segue:
• determinare per ogni operatore e ogni pizza il costo totale degli ordini effettuati;
SELECT codicepizza, sum(costo) FROM ORDINE GROUP BY codicepizza;
e con questa query estraggo il costo totale per ogni tipo di pizza venduta ma, come diamine ci inserisco l'operatore ?
La query è anche sbagliata perchè nella somma non tiene conto di operatori differenti ![]()
__________________
Non ti perdere di coraggio se ti tocca lavorare molto e raccogliere poco.....
può essere cosi?
SELECT codice_operatore, ordine.codice_pizza, sum(costo) as spesa_totale
FROM ordine, pizza
WHERE ordine.codice_pizza=pizza.codice_pizza
group by codice_operatore, ordine.codice_pizza;
Originally posted by mostrielo
può essere cosi?
SELECT codice_operatore, ordine.codice_pizza, sum(costo) as spesa_totale
FROM ordine, pizza
WHERE ordine.codice_pizza=pizza.codice_pizza
group by codice_operatore, ordine.codice_pizza;
__________________
Non ti perdere di coraggio se ti tocca lavorare molto e raccogliere poco.....
| All times are GMT. The time now is 10:51. | Pages (2): « 1 [2] Show all 25 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.