96 messaggi dal 05 maggio 2002
Ciao a tutti!

Arrivo subito alla domanda:

in una pagina asp vengono elencati i risultati di una ricerca fatta per cognome, i risultati si trovano su una tabella, in un db di access, chiamata cognome. Vorrei che in questa pagina venisse anche visualizzato il numero di volte che quel cognome compare in un'altra tabella del db che è chiamata Acquisti.
come è la giusta sintassi SQL da usare?
ho provato in vari modi ma non sono riuscito...

...beati coloro che sono in vacanza....
grazie anticipatamente!

lo scoppato:)

lo scoppato:)
2.907 messaggi dal 15 maggio 2001
Contributi
"Select*from cognome,Acquisti where cognome='Rossi'"



<font size=3> -¦» Rome Webmaster «¦- </font id=size3><font size=2> <b> [</b> Alla prossima<b> ]</b> </font id=size2>
96 messaggi dal 05 maggio 2002
Intanto grazie per l'attenzione!!!
...mi sembra di essermi spiegato male!

la stringa SQL che mi hai postato mi trova tutti i record, delle due tabelle che hanno lo stesso cognome. ...o sbaglio!!??

io vorrei che mi venissero elencati i campi della tabella COGNOME e in un'altra colonna ci fosse un numero che rappresenta quante volte 'Rossi' compare nella tabella ACQUISTI...
spero di essermi spiegato...


grazie

lo scoppato:)

lo scoppato:)
96 messaggi dal 05 maggio 2002
...qualcuno può aiutarmi per favore??

lo scoppato:)

lo scoppato:)
26 messaggi dal 06 settembre 2002
Ipotizzando che le tabelle abbiano una base simile a quelle che descrivero di seguito:
Acquisti:
- IDAcquisto
- IDCliente

Cliente:
- IDCliente
- Nome
- Cognome

potremo dire che la sintassi corretta per avere quel che cerchi è:

SELECT Clienti.Cognome, Count(Acquisti.IDCliente) AS NumAcquisti FROM Clienti
INNER JOIN Acquisti ON Acquisti.IDCliente = Clienti.IDCliente
WHERE Clienti.Cognome = 'rossi'
GROUP BY Clienti.Cognome

96 messaggi dal 05 maggio 2002
ciao simonesevera!
ho provato con la query che mi hai postato, funziona correttamente... o quasi.
Il conteggio dei record viene effettuato, ma accade una cosa strana, ipotizziamo che il codice sia quello che mi hai consigliato:

<code>
SELECT Clienti.Cognome, Count(Acquisti.IDCliente) AS NumAcquisti FROM Clienti
INNER JOIN Acquisti ON Acquisti.IDCliente = Clienti.IDCliente
WHERE Clienti.Cognome = 'rossi'
GROUP BY Clienti.Cognome
</code>
se rossi è presente 2 volte nella tabella acquisti, il conteggio, cioè il valore del campo NumAcquisti mi restituisce 4; se rossi compare 3 volte NumAcquisti=9; se rossi compare 4 volte NumAcquisti=16; in pratica il valore NumAcquisti=NumAcquisti * NumAcquisti
Come mai?
La query l'ho provata sia in una pagina ASP che direttamente in Access, e ottengo sempre la stessa anomalia...

lo scoppato:)

lo scoppato:)
26 messaggi dal 06 settembre 2002
Scusa il ritardo, stavo incasinato di lavoro

Cmq ti consiglierei di controllare se nella tabella Clienti vi sia un "unico" Rossi.

96 messaggi dal 05 maggio 2002
avevi ragione! nella tabella Clienti c'arano molti duplicati che venivano fuori da una query che avevo fatto tempo fa...
...certe volte si perde un sacco di tempo su delle str@@@@@
ti ringazio molto...
funziona tutto benissimo
buon lavoro

lo scoppato:)

lo scoppato:)

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.