Ho una tabella ("mia_tabella") con la seguente struttura e dati:
codice:
id | id_testa | lingua | titolo
1 | 1 | Italiano | Mio libro
2 | 1 | Inglese | My book
3 | 3 | Francese | Mon livre
4 | 3 | Portoghese | Meu livro
5 | 5 | Spagnolo | Mi libro
Vorrei avere come output
Libri in italiano
1. Mio libro (Italiano | Inglese)
Libri in altre lingue
1. Mon livre (Francese | Portoghese)
2. Mi libro (Sapgnolo)
Per la prima lista, "Libri in italiano", non ci sono problemi, ma non riesco a tirar fuori una query che mi restituisca la seconda lista.
La domanda è: come dev'essere questa query? :old:
Codice PHP:
//Query per "Libri in italiano"
$query_libri_italiani = "SELECT DISTINCT id_testa, id, lingua, titolo FROM mia_tabella WHERE lingua = 'Italiano' ORDER BY titolo ASC";
//Nel While di "libri_italiani" facio un altro while con questa query, per le diferente lingue
$id_testa = $row_libri_italiani['id_testa'];
$query_lingue = "SELECT * FROM mia_tabella WHERE id_principal = $id_cabeza ORDER BY lingua ASC";
// Prova Query per "Libri non italiani"
$query_libri_non_italiani = "SELECT * FROM mia_tabella WHERE lingua <> 'Italiano' GROUP BY 'id_testa'"
//In questo caso nel risultato, oltre ai records 3 e 5, mi da pure il record 2, che dovrebbe rimanere fuori.