[PHP] Problema con query

  • Creatore Discussione Creatore Discussione Max61
  • Data di inizio Data di inizio

Max61

Utente Attivo
2 Mar 2014
760
4
18
Salve, sono di nuovo a chiedere delucidazioni a chi ne sa più di me, nella query che posto vorrei escludere
le pratiche concluse da quelle ancora in essere, per far ciò ho un parametro univoco (tblanagrafica_id) che però non riesco a mettere insieme con il valore del campo PraticaConclusa = 'No' .
Es.:
Pratica 1 PraticaConclusa = 'No' tblanagrafica_id= 1
Pratica 1 PraticaConclusa = 'Si' tblanagrafica_id= 1
Pratica 1 PraticaConclusa = 'No' tblanagrafica_id= 2

Bene vorrei che a video potessi vedere soltanto:
Pratica 1 PraticaConclusa = 'No' tblanagrafica_id= 2
perchè gli altri 2 record hanno lo stesso tblanagrafica_id= 1 anche se lo stato della pratica risulta diverso.

Spero di essermi spiegato...

$query = "select idverbali, tblanagrafica_id, NumPratica, Nominativo, CodiceFiscale, NumVerbale , DataVerbale, __________DecisioneGIL__________, NoteVerbale, StatoPratica, AnnoSinistro, PraticaConclusa from tblverbali where NumPratica<>'1' AND PraticaConclusa = 'No' ORDER BY Nominativo, Numverbale";

Qualche suggerimento?
Grazie
Max61
 
Ciao, cortesemente cerca di postare lo script nei tag adeguati altrimenti non si capirà un bel niente.
 
Ciao, nella nuova versione del sito non trovo i vari tag (php, html, ecc.) come era nella vecchia versione.
Puoi indicarmi come fare?
Grazie
Max61
 
Ciao, basta cliccare su inserisci adesso ti posto l'img
 

Allegati

  • i tag.jpg
    i tag.jpg
    6,3 KB · Visite: 427
Ciao Max61,
secondo me ti converrebbe invertire le condizioni e poi l'operatore diverso non è '<>' ma '!='
 
Ciao, te dici di modificare questo pezzetto di codice?
where NumPratica<>'1'
con
where NumPratica!='1'?
se è così ok per la sintassi corretta ma non risolve il problema perchè non riesco a intercettare il valore del campo univoco
tblanagrafica_id da mettere in relazione al valore del campo StatoPratica.
Max61
 
Ciao,
ma la tabella è unica o ci sono più tabelle correlate tra loro; perchè, se così fosse, devi usare le JOIN.
Pensavo si trattasse di un'unica tabella.Dovresti postare la struttura delle varie tabelle.
 
Scusa ma, al momento,. non ho a disaposaizione il programma per ' dezippare'. Mi occorrerebbe sapere quante tabelle sono in tutto e i nomi dei campi delle varie tabelle, compreso il campo che le mette in relazione
 
Le tabelle sono tante, ma in relazione tra loro sono 3: tblanagrafica, tblsinistri, tblverbali; che le mette in relazione si chiama idanagrafica nella tabella tblanagrafica, mentre nelle altre 2 l'ho chiamato tblanagrafica_id.
Praticamente all'inserimento di un record nella tabella tblanagrafica crea anche un record nelle altre 2.
Ti basta questo o ti servono tutti i campi di tutte le tabelle?
 
No, dovrebbero bastare questi, se poi me ne servono altri, te li chiedo. Un'altra cosa non è molto chiara: la prima condizione della query, nel tuo prim esempio è NumPratica<>'1' ma il record che dici di voler visualizzare comincia con 'Pratica 1': forse ti riferisci a tblanagrafica_id ?? O è un errore ?? Forse le condizioni devono essere tre. E, se non ho capito male, i campi da controllare risiedono su tabelle diverse? Facio qualche prova e poi ti dico.
 
NumPratica<>'1' è un errore o è una delle infinite prove che ho fatto senza risultato.
I campi da prendere in considerazione sono tblanagrafica_id (univoco) e PraticaConclusa Si o NO
 
Ciao,
sto facendo qualche prova e mi servono alcune cose, oltretutto s0no finalmente riuscito ad aprire il file zippato.
Se non ho capito male, tu devi stampare i dati relativi alle pratiche non concluse che si trovano nella tabella 'stampasinistri'; ho capito bene?? Allora hai tutti e due i campi che interessano la query (`tblanagrafica_id` e `NumPratica`) nella stessa tabella. In questo caso basta una semplice query. Oppure ho capito male io?? Non è molto chiaro
 
Vorrei visualizzare i record della tabella tblverbali che hanno lo stesso valore del campo tblanagrafica_id anche se il valore del campo PraticaConclusa è diverso :
Es.:
tblanagrafica_id 80; PraticaConclusa 'No'
tblanagrafica_id 80; PraticaConclusa 'Si'
tblanagrafica_id 60; PraticaConclusa 'No'
Bene a video vorrei vedere soltanto
tblanagrafica_id 60; PraticaConclusa 'No'
Perché la pratica tblanagrafica_id 80; risulta conclusa. Spero di essermi spiegato.
Ciao
 
Si ok, quello che vuoi stampare è chiaro, le pratiche 'in sospeso'. I miei dubbi erano se i dati da stampare si trovano in un'unica tabella, e mi hai detto di si (tblverbali) giusto?? Inoltre tutti e due i campi da verificare nella query (`NumPratica` != 1 e PraticaConclusa = 'No') sono nella stessa tabella o sabaglio?
 
Ultima modifica:
Sì tutto ok. Tranne che i campi da verificare sono
PraticaConclusa
E
tblanagrafica_id questo campo è l id univoco che viene creato quando si inserisce un nominativo
 
Ciao Max61,
scusa ma ho avuto da fare.
Mi sono un attimino perso: ho creato (per prova) tre tabelle TBLANAGRAFICA


Codice:
ID COGNOME NOME
2     VERDI GIOVANNI
3     ROSSI FRANCO



TBLVERBALI


Codice:
ID TBLANAGRAFICA_ID STATO_PRAT
1                          2        NON CONCLUSA
2                          2        CONCLUSA
3                          3        NON CONCLUSA



e TBLSINISTRI


Codice:
ID TBLANAGRAFICA_ID NUM_PRATICA
1                   2                  1
2                   2                  1
3                   2                  2


E' esatto?? E vorresti visualizzare le pratiche in sospeso. Giusto?? Scusami ma mi sono un attimino perso.....
 
Ultima modifica:
Ciao Zorro e grazie per il tempo che mi hai dedicato, ma stamani ho risolto così e sembra funzioni:
$query = "SELECT * FROM tblverbali
WHERE PraticaConclusa = 'No'
AND tblanagrafica_id NOT IN (SELECT tblanagrafica_id FROM tblverbali WHERE PraticaConclusa = 'Si')";
La query la faccio soltanto sulla tabella tblverbali.

Grazie ancora
Max61
 

Discussioni simili