Quote Originariamente inviata da marocco82 Visualizza il messaggio
Salve a tutti,
ho un db access con due tabelle (clienti e ore_mese) così composte:

clienti
id operatore inserito
1 pinco pallo Ok
2 tizio caio Ok
4 pinco pallo Ok
5 pinco pallo Ko

ore_mese
id operatore ore
1 pinco pallo 32
2 pippo pluto 0
3 tizio caio 15

Vorrei visualizzare una colonna con la lista di tutti gli operatori della tabella ore_mese con le rispettive ore nella colonna successiva e, nella colonna di seguito, il conteggio degli "Ok" contenuti nel campo "inserito".
ES.

operatore ore inserito Ok
pinco pallo 32 2
pippo pluto 0 0
tizio caio 15 1

Ho fatto decine di tentativi con il JOIN tra le due tabelle prendendo in considerazione, come chiave primaria, il campo operatore ma non riesco a visualizzare più di un operatore.
Di seguito il codice:
codice:
sql = "SELECT ore_mese.operatore, ore_mese.ore, COUNT (clienti.inserito) AS quanti FROM ore_mese INNER JOIN clienti ON clienti.operatore=ore_mese.operatore WHERE clienti.inserito='Ok' GROUP BY ore_mese.operatore, ore_mese.ore"


Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn ,3,3


if not rs.EOF then      
   
do while not(rs.eof)
Sicuramente non ho ben chiara la sintassi del JOIN.
Potreste darmi una mano?

Grazie a tutti.
ciao
io farei nel modo seguente
durante il ciclo di lettura aprirei un recordset temporaneo per eseguire il conteggio
faccio un esempio postando il codice che farei io...

codice:
dim sql,sql1,inseriti
Set rs = Server.CreateObject("ADODB.Recordset")
Set rs1 = Server.CreateObject("ADODB.Recordset")

rs.Open sql, conn ,3,3
if  not rs.EOF then
   do until rs.eof
   sql1="SELECT count(*) as inseritoOK from Clienti where operatore='" & rs("operatore") & " and inserito='ok'; "
   rs1.open sql1,conn, 3, 3
   inseriti=rs1("inseritoOK")
   rs1.Close
  ' ....facci quello che vuoi tabella, etc etc
  response.write("operatore:" & rs("operatore") & ", ore: " & rs("ore") & ", inseriti:" & inseriti)
  rs.movenext
  loop
end if
rs.close

mi sembra piu semplice che impelagarsi in un join che non è fatto per questo scopo...

ciao