Estrazione di più risultati da tabelle correlate

Kiko74b

Nuovo Utente
26 Giu 2022
19
2
3
Salve a tutti ho creato queste tre tabelle :
CREATE TABLE `tblbooks` (
`id` int(11) NOT NULL,
`BookName` varchar(255) DEFAULT NULL,
`CatId` int(11) DEFAULT NULL,
`CompId` int(11) DEFAULT NULL,
`AuthorId` int(11) DEFAULT NULL,
`ISBNNumber` varchar(25) DEFAULT NULL,
`EAN` varchar(13) DEFAULT NULL,
`BookPrice` smallint(4) DEFAULT NULL,
`ProductScad` date DEFAULT NULL,
`bookImage` varchar(250) NOT NULL,
`isIssued` int(1) DEFAULT NULL,
`RegDate` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
`UpdationDate` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE `tbldiabetici` (
`id` int(11) NOT NULL,
`CognomeNome` varchar(255) NOT NULL,
`CodFiscale` varchar(16) NOT NULL,
`CodVerifica` varchar(3) NOT NULL,
`PianoTerapeutico` date NOT NULL,
`StatoErogazione` tinyint(1) NOT NULL,
`DataCreazione` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE `tblerogazioni` (
`id` int(11) NOT NULL,
`Iddiabetico` int(11) NOT NULL,
`DataErogazione` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`ProductId1` int(11) DEFAULT NULL,
`ProductId2` int(11) DEFAULT NULL,
`ProductId3` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

devo fare una query per estrapolare cosa viene erogato ed n nche data per ogni diabetico.
Sono fermo a questo punto :
PHP:
SELECT tblerogazioni.DataErogazione, tbldiabetici.CognomeNome, tblbooks.BookName FROM ((tblerogazioni 
INNER JOIN tbldiabetici ON tblerogazioni.Iddiabetico = tbldiabetici.id)
INNER JOIN tblbooks ON tblerogazioni.ProductId1 = tblbooks.id);
Cosi facendo ottengo solo 1 prodotto dalla query...
Come dovrei fare per ottenere i tre prodotti?
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.449
338
83
codice.JPG
 

marino51

Utente Attivo
28 Feb 2013
3.204
207
63
Lombardia
così puoi ottenere la lista elencando i tre prodotti salvo clausole where che filtrano

SQL:
select * from (
SELECT id, Iddiabetico, DataErogazione, ProductId1 as ProductId FROM tblerogazioni
UNION ALL
SELECT id, Iddiabetico, DataErogazione, ProductId2 as ProductId FROM tblerogazioni
UNION ALL
SELECT id, Iddiabetico, DataErogazione, ProductId3 as ProductId FROM tblerogazioni
) t
where .....
left join .....
left join .....
order by ....

ps, non dimenticare la t dopo la parentesi chiusa
 

Kiko74b

Nuovo Utente
26 Giu 2022
19
2
3
Sera preziosissimo Marino la query che mi hai inviato funziona alla grande. Volevo chiederti pero una cosa avendo i tre prodotti id diversi ho notato che quando richiamo il risultato dell'unione dei tre prodotti mi vengono stampati indicizzati secondo l'id del prodotto. Vorrei che mi vengano stampati a video proprio nell'ordine 1,2,3. Spero di essere stato chiaro
es. se prodotto1 ha id 12
prodotto 2 ha id 10
e prodotto3 ha id 17
facendo l'unione e richiamando il risultato questi escono in questa sequenza:
prodotto2, prodotto1 , prodotto3
Esiste qualche modo per ottenere il risultato con la sequenza 1,2,3?
 

marino51

Utente Attivo
28 Feb 2013
3.204
207
63
Lombardia
se ho capito, puoi provare così
SQL:
SELECT 1 as ordine, id, Iddiabetico, DataErogazione, ProductId1 as ProductId FROM tblerogazioni
UNION ALL
SELECT 2 as ordine, id, Iddiabetico, DataErogazione, ProductId2 as ProductId FROM tblerogazioni
UNION ALL
SELECT 3 as ordine, id, Iddiabetico, DataErogazione, ProductId3 as ProductId FROM tblerogazioni
....
order by Iddiabetico, DataErogazione, ordine
aggiustando "order by" secondo necessità
 
Discussioni simili
Autore Titolo Forum Risposte Data
L Estrazione valori max su più campi MySQL 4
M problema con estrazione dati da più tabelle MySQL 1
U ripetizione di estrazione da più db Classic ASP 3
G estrazione dati da più record in un solo nuovo campo Database 0
E Progressbar estrazione dati da tabella mySQL Ajax 9
L Estrazione dati php Database 6
L Estrazione dati casuali non doppioni MySQL 1
D Chiave unica in estrazione dati da array php PHP 0
M [PHP] Estrazione random con nomi presi dal db PHP 22
gandalf1959 Estrazione e visualizzazione del simbolo dell'euro php/mysqli PHP 0
ronny1710 Estrazione Dati Tessera Sanitaria .NET Framework 1
F Estrazione Email di persone selezionate e attive / facebook + invio di massa! Annunci servizi di Social Media Marketing 0
V Estrazione di una singola banda da file multi banda (RGB) con Python Programmazione 0
creatorweb [PHP] estrazione ciclica dati con 2 dati alla volta PHP 2
O [PHP] problema estrazione immagine da db PHP 12
Gigi87 [PHP] Estrazione dati da forum o da social network PHP 1
V [PHP] Estrazione con SQL PHP 1
L estrazione dati da mysql in php e salvataggio in cartella del server PHP 51
M [MS Access] Estrazione record multipli MS Access 1
E [PHP] estrazione dati in modo non continuativo PHP 1
S [PHP] estrazione dal DB complicata PHP 7
asevenx [Javascript] Estrazione dal database di un valore in base ad una scelta Javascript 7
S Php e mysql, estrazione da una tabella e inserimento in un'altra tabella PHP 14
P Probelma estrazione stringa PHP 5
C Estrazione Dati da Pagine Gialle PHP 0
L Estrazione Articoli Random da Tabella senza doppioni PHP 1
A Estrazione dati da tabella sql MySQL 27
gandalf1959 Estrazione di un singolo dato da una ricerca mysql PHP 1
T Codice per estrazione dati da db PHP 4
F estrazione codice Javascript 0
R Javascript e html - estrazione EXIF da jpg con link per geolocalizzazione google maps Javascript 0
D php estrazione random nomi e senza ripetizione PHP 14
M Problema con estrazione coordinate da google geocoding PHP 1
L Conversione date ed estrazione PHP 0
L estrazione dati per login PHP 0
W Estrazione dati da DB PHP 20
N Problemi estrazione / visualizzazione immagini dal database con PDO PHP 2
L Estrazione dati per settimana. PHP 13
L estrazione dati e immagini in contemporanea PHP 4
B Estrazione Database valori multipli MySQL 4
M estrazione dati casuali da database Database 0
A Evitare estrazione record doppioni PHP 2
C [PHP][MY SQL] - Estrazione dati database tramite form PHP 8
G estrazione dati da DB tramite PHP errore time out PHP 2
A problema estrazione singolo valore e memorizzazione in variabile PHP 1
B Estrazione dati utente loggato MySQL 1
W Estrazione dati DB da lista MySQL 1
M Connessione Database ed estrazione dati Javascript 6
H Problema riguardo l'estrazione di record dal DB tramite codice univoco PHP 7
G Script php estrazione email PHP 8

Discussioni simili