Salve a tutti. Vi propongo un problema che m'è apparso recentemente e dal quale non riesco a cavarmi fuori.
Ho un discreto database interno in mysql che viene utilizzato per archiviare i dati delle aziende contattate, i referenti e i dati dei vari contatti effettuati. Mi è stato richiesto di estrarre tutte le aziende cosiddette "calde", ovvero quelle che si sono dimostrate interessate ad un possibile incontro. Le tabelle prinicipali son tre: azienda, contatto e persona, legate tra di loro tramite l'id_azienda (azienda - contatto e azienda-persona) e id_persona (persona-contatto).
Tra i vari campi della tabella contatto, quelli che m'interessano sono:
tipocontatto = 3
interessato = 3
appuntamento = 0
data appuntamento = ' ' oppure = '00/00/000'
mentre della tabella persona m'interessa solamente questo:
appuntamento_il = ' ' oppure = '00/00/0000'
La query che utilizzo per estrarre le aziende "calde" è la seguente:
SELECT * FROM azienda
INNER JOIN contatto, persona
ON contatto.id_azienda = azienda.id_azienda
AND persona.id_azienda = azienda.id_azienda
WHERE tipocontatto = 3 AND interessato = 3
AND appuntamento = 0
AND (data_appuntamento = ' OR data_appuntamento = '00/00/0000')
AND (appuntamento_il = ' OR appuntamento_il = '00/00/0000')
GROUP BY azienda ORDER BY azienda
Il problema è che mi è capitato, cosa che m'ha fatto venire il dubbio sulla validità del tutto, che un'azienda per la quale sono presenti 4 record nella tabella "contatto", dei quali 3 hanno valore contatto.appuntamento = 0 e uno solo contatto.appuntamento = 1, venga estratta lo stesso. Il mio dubbio è che per come la query è stata strutturata, il mio recordset vada a verificare solo uno dei 4 record (magari il primo), e consideri valide le condizioni. E' possibile questo? E se si, cosa sbaglio?
Confido nel vostro utile aiuto che s'è rivelato sempre importante e vi saluto![]()