Tabella per ricerca valori in due periodi

  • Creatore Discussione Creatore Discussione Maures
  • Data di inizio Data di inizio

Maures

Utente Attivo
25 Mar 2015
45
0
0
Buongiorno a tutti,
devo implementare una ricerca comparativa tra i valori di una tabella in un database, avendo come chiave di ricerca due coppie di date (chiamiamoli PERIODO1 e PERIODO2).

Vi faccio un esempio

Se nel PERIODO1 trovo uno o più record, ne mostro alcune informazioni nella prima colonna della tabella; nella seconda colonna, dovrò inserire, se presenti, le stesse informazioni basate sul PERIODO2 o lasciare la cella vuota.

Inizialmente pensavo di fare la query sul PERIODO1 e riempire la seconda colonna facendone una seconda nidificata cercando nel PERIODO2 per ogni record restituito, ma questa logica non funziona quando non ho record nel PERIODO1 mentre ne ho nel PERIODO2.

In definitiva dovrei avere una tabella di questo genere:

[table="width: 500, class: grid"]
[tr]
[td]PERIODO1[/td]
[td]PERIODO2[/td]
[/tr]
[tr]
[td]RECORD NEL PERIODO 1[/td]
[td]RECORD NEL PERIODO 2[/td]
[/tr]
[tr]
[td]RECORD NEL PERIODO 1[/td]
[td]-[/td]
[/tr]
[tr]
[td]-[/td]
[td]RECORD NEL PERIODO 2[/td]
[/tr]
[/table]

riesco a visualizzare le prime due righe dei record, ma non la terza.

Spero di essermi spiegato bene, in caso chiedete pure senza problemi!
 
Premesso che dall'esempio in tabella non sembra vincolante che per stampare periodo2 sia necessario che periodo1 sia valorizzato e viceversa.

Se facessi un seplice select, ti estrai i valori di periodo1 e periodo2, poi fai
un if elseif else o uno switch (http://www.w3schools.com/php/php_switch.asp)
Ed inizi con i controlli:
periodo1 e periodo2 siano valorizzati e non vuoti
{ in questo caso stamperai entrambi }
periodo1 valorizzato e periodo2 non valorizzato o vuoto
{ in questo caso stamperai periodo1 e assegnerai a periodo2 il simbolo -}

evia dicendo..
Il tutto lo metti in un ciclo foreach e dovresti risolvere..
 
è probabile che riesci ad ottenere dei dati ben organizzati già dalla query,

guarda l'immagine in questo link e decidi qual'è il caso che si presta meglio,
https://www.securesolutions.no/sql-join-types-explained-with-1-picture/

considera che le tabelle "a" e "b" possono essere, di fatto, la stessa tabella

inserisci le condizioni specifiche (date) con "a.condizione" e "b.condizione"
ed al contempo le condizioni delle chiavi che collegano le due tabelle

i record vuoti, verranno restituiti con dei null
 

Discussioni simili