Salve,
tabella_prodotti(id, descrizione, prezzo)
tabella_categoria(id, nome_categoria)
vorrei fare in un unica query che mi venga restituito: id, descrizione, prezzo, nome_categoria in base a id
ciao
Salve,
tabella_prodotti(id, descrizione, prezzo)
tabella_categoria(id, nome_categoria)
vorrei fare in un unica query che mi venga restituito: id, descrizione, prezzo, nome_categoria in base a id
ciao
Codice PHP:
$query = "SELECT tabella_prodotti.id AS id, tabella_prodotti.descrizione AS descrizione, tabella_prodotti.prezzo AS prezzo, tabella_categoria.nome_categoria AS nome_categoria FROM tabella_prodotti INNER JOIN tabella_categoria ON tabella_prodotti.id=tabella_categoria.id"
oddioVVoVe:
potresti spiegarmi un pò qualcosa su questa query? o magari se ne conosci una più semplice...
grazie
per come è scritta quella di valvonauta è un po' paurosa.. ma è semplice..
te ne riscrivo una facile facile...
SELECT p.*, c.nome_categoria
FROM tabella_prodotti AS p
JOIN tabella_categoria AS c ON p.id = c.id
WHERE id = .....
spiego:
seleziona tutti i dati da p (p.*... p è definita dopo) e solo nome categoria da d (d.nome_categoria ...d è definita dopo)
dalla tabella prodotti che rinmino p
unita alla tabella categoria che rinomino c, unendo le tabelle solo per valori di id uguali (p.id = c.id ... se non ci fosse questa condizione otterresti un pèrodotto cartesiano: tutte le righe di una tabella unite a tutte le altre dell'altra.. un pasticcio senza senso)
l'ultima clausola è quella che ti permette di selezonare l'id
nota che avrei anche potuto scrivere
SELECT *
perchè i nomi dei campi sono tutti diversi (a parte id che cmq rappresenta lo stesso id), ma usando la notazione tabella.campo mi sono mantenuto nel caso più generale.. per farti capire come funge
![]()