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
   if isNumeric(rs1(inseritoOK")) then
     inseriti=rs1("inseritoOK") 
   else
    inseriti=0
   end if
   rs1.Close
  ' ....facci quello che vuoi tabella, etc etc
  response.write("<br>operatore:" & rs("operatore") & ", ore: " & rs("ore") & ", inseriti:" & inseriti)
  rs.movenext
  loop
end if
rs.close
ho messo il test numerico perche se il contatore non trova nulla puo darsi che ritorni un carattere blank nel campo "inseritoOK"...
mi sembra piu semplice che impelagarsi in un join che non è fatto per questo scopo...

ciao