Ciao a tutti,
una mano per una query mysql:
ho 3 tabelle (tabellaA, tabellaB, tabellaC) devo estrarre da queste 3 tabelle i campi SETTORE senza avere ripetizioni di valore.
Fatemi sapere.
Grazie mille.
Ciao a tutti,
una mano per una query mysql:
ho 3 tabelle (tabellaA, tabellaB, tabellaC) devo estrarre da queste 3 tabelle i campi SETTORE senza avere ripetizioni di valore.
Fatemi sapere.
Grazie mille.
un po' vago... puoi dirci di più?
qualcosa del tipo
SELECT DISTINCT Settore FROM
(
SELECT DISTINCT Settore FROM db1..tabella
UNION
SELECT DISTINCT Settore FROM db2..tabella
UNION
SELECT DISTINCT Settore FROM db3..tabella
)
T1
![]()
Ciao, grazie per la risposta.
Ho provato col COUNT ma mi da errore:
Microsoft OLE DB Provider for ODBC Drivers error '80040e21'
ODBC driver does not support the requested properties.
co. è la connessione al database, ho provato anche senza ma mi da lo stesso errore.codice:strqemail2 = "select count(*) DISTINCT settore FROM (SELECT DISTINCT settore FROM co.tabellaA UNION SELECT DISTINCT settore FROM co.tabellaB)"
che c'entra la COUNT(*) ?![]()
perchè devo utlizzare un .movefirst e se la query non trova valori mi va in errore.
Ma non è un problema, ci saranno sempre campi quindi il controllo posso evitarlo.
Ora ho fatto:
e mi da sempre questo errore:codice:strqsottogruppi2 = "select DISTINCT settore FROM (SELECT DISTINCT settore FROM tabellaA UNION SELECT DISTINCT settore FROM tabellaB)" oppure strqsottogruppi2 = "select DISTINCT settore FROM (SELECT DISTINCT settore FROM co.tabellaA UNION SELECT DISTINCT settore FROM co.tabellaB)"
Microsoft OLE DB Provider for ODBC Drivers error '80040e21'
ODBC driver does not support the requested properties.
1. usa .eof per vedere se la query ha restituito dati
2. prova a mettere T1 dopo la chiusura della parentesi della query, come da mio esempio
perfetto, ora va!!
Per la questione del .eof io mando al primo record con movefirst, se lo metto dentro .eof mi va nel ciclo e rimanda sempre all'inizio, forse sbaglio qualcosa.
Ti faccio un esempio:
se io metto rsgruppi.movefirst dentro il ciclo mi ri va sempre all'inizio.codice:set rsgruppi = server.createObject("ADODB.Recordset") strqgruppi = "select * from gruppi order by nome" rsgruppi.Open strqgruppi,co,2,3 set rsgruppi2 = server.createObject("ADODB.Recordset") strqgruppi2 = "select count(*) as totrec from gruppi" rsgruppi2.Open strqgruppi2,co,2,3 totrecgruppi = Cint(rsgruppi2(0)) if totrecgruppi > 0 then rsgruppi.movefirst while not rsgruppi.oef ... rsgruppi.movenext wend
se non metto il controllo totrecgruppi e la query non trova record, il movefirst mi va in errore.
Forse sbaglio qualcosa e si può mettere il controllo in altro modo, che dici?
dopo la rsxxxx.open metti if rsxxxx.eof: se =true vuol dire che non ci sono dati
perfetto... quindi metto sempre un controllo in più.. grazie mille, funziona tutto perfettamente!