Ho una mia query in Firebird che non funziona e chiedo aiuto per capire dove sbaglio.
Il database si chiama BIBLIOTECA.FDB e mi serve per gestire la biblioteca civica della mia città.
Devo periodicamente esportare da BIBLIOTECA.FDB dei campi da due tabelle PRESTITI e TESSERATI con campo comune N_TESSERA, per creare un elenco dei prestiti in mora (che vedo dall'assenza di una data nel campo restituzione del libro preso a prestito).
Lo scopo è generare un elenco di persone cui poter telefonare per ricordar loro il ritardo e sollecitare la restituzione del libro.
Quindi devo esportare dalla tabella PRESTITI, con la guida del campo comune N_TESSERA (che è dello stesso tipo numerico in tutte e due le tabelle) alcuni campi (il nome, cognome, data_prestito, data_scadenza, titolo del libro),
Mentre dalla tabella TESSERATI devo concatenare (sempre con con la guida del campo comune N_tessera ), sulla stessa riga dei dati del prestito, anche il nome del garante, il numero_telefono, il numero_cellulare presenti solo su questa tabella.
La mia query è la seguente (ma funziona solo parzialmente, e di seguito cosa non va):
SELECT
prestiti.nome, prestiti.cognome, prestiti.data_prestito, prestiti.data_scadenza, prestiti.titolo,
tesserati.garante, tesserati.n_telefono, tesserati.n_cellulare
FROM
prestiti,tesserati
WHERE
prestiti.n_tessera = tesserati.n_tessera
AND
prestiti.data_consegna = ' ' OR prestiti.data_consegna = 'NUL'
Questa query pur esportando correttamente tutti il centinaio di prestiti ancora attivi ed in mora (cioè quelli che hanno una data_consegna ' ' oppure 'NUL'), non concatena i dati della persona giusta, cioè non funziona la condizione WHERE
prestiti.n_tessera = tesserati.n_tessera
Ringrazio fin da ora chiunque abbia qualche suggerimento da segnalarmi.
Grazie saluti
Giulio