55 messaggi dal 12 settembre 2003
salve popolo!

ho un problemino.

ho una tabella cosi composta

nome mele pere banane cocomeri
paperino 2 4 1 0
pippo 3 4 3 0
pluto 1 1 6 0

come faccio a dire

il personaggio che ha + mele è : pippo
il personaggio che ha + pere è : paperino,pippo
il personaggio che ha + banane è : pluto
il personaggio che ha + cocomeri è : da definirsi

cioè i miei piccoli problemini sono far si che la query soddisfi queste condizioni:

1)situazione ottimale, cioè dove tutti hanno diverse quantita' di beni e quindi mi serve solo il nome di chi ne ha di + (pensavo di riuscirci da solo ma mi sbagliavo :) )

2)condizioni in cui + di 1 persona ha il massimo dei beni, quindi mi serve i loro nomi, magari separato da una virgola :)

3)se il bene è uguale per tutti a 0 , allora significa che ancora non è stato distribuito, quindi a me mi serve stampare a video da definirsi

che dite, mi potete aiutare a formulare questa query....

grazie
2.584 messaggi dal 14 maggio 2001
SELECT Max(mele), nome FROM Tabella

- Se hai più record vuoi dire che ci sono più utenti a parimerito
- se il primo record ha il max uguale a zero devi stampare "da definirsi"

Questo devi farlo per ogni articolo...
3.122 messaggi dal 16 maggio 2002
Seoman, quella query non può funzionare. MAX è una funzione di aggregazione e non può essere eseguita se non si indica il raggruppamento.
Per fare quello che chiede sopadj bisogna scrivere una query un po' più complessa:
SELECT nome, mele
FROM tabella
WHERE mele=(SELECT MAX(mele) FROM tabella)
AND mele>0

Modificato da Raynor il 08 settembre 2004 11.04 -

The day Microsoft makes something that doesn't suck
is probably the day they start making vacuum cleaners.

Get caught!
Get caught again!
2.584 messaggi dal 14 maggio 2001
Hai ragione... a volte scrivo e stacco il cervello...
55 messaggi dal 12 settembre 2003
Raynor ha scritto:
Seoman, quella query non può funzionare. MAX è una funzione di aggregazione e non può essere eseguita se non si indica il raggruppamento.
Per fare quello che chiede sopadj bisogna scrivere una query un po' più complessa:
SELECT nome, mele
FROM tabella
WHERE mele=(SELECT MAX(mele) FROM tabella)
AND mele>0

Modificato da Raynor il 08 settembre 2004 11.04 -



funziona

ma se pippo e paperino hanno 10 mele ognuno, mi scrive soolo paperino forse perke prende il primo in ordine alfabetico....???

<%
Dim SQL5,Rec5
SQL5="SELECT nome, pere FROM beni WHERE pere=(SELECT MAX(pere) FROM beni) AND pere > 0 "
Set Rec5 = Server.CreateObject("ADODB.Recordset")
Set Rec5=Conn.Execute(SQL5)
if rec5.EOF then
%>
---
<%else%>
<%=rec5("nome")%> con <%=rec5("pere")%>
<%end if%>


help me, come posso , se <%=rec5("nome")%> è uguale a + campi, a scriverli tutti separati da una virgola...????
grazie
2.584 messaggi dal 14 maggio 2001
if rec5.eof=True then
response.write "da definirsi"
else
response.write rec5("pere") & ": "
Do While not rec5.EOF=true
response.write rec5("nome") & ","
rec5.movenext
loop
end if

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.