- Home
- Categorie
- Coding e Sistemistica
- MYSQL e altri Database
- MySql Query con doppio operatore AND
-
MySql Query con doppio operatore AND
Ciao ragazzi, intanto grazie per l'add.
Sono a chiedervi un aiuto per la sintassi di una query. Funziona tutto correttamente ma quando aggiungo un altro operatore AND non mi trova nessun risultato.
si tratta di tirar fuori dei dati da un db wordpress e creare un file pdf
//query correttaSELECT * FROM ot_posts INNER JOIN ot_postmeta ON ot_posts.ID = ot_postmeta.post_id AND ot_postmeta.meta_key = 'nominativo' WHERE post_type = 'iscritti' ORDER BY ot_posts.post_title ASC
//query sbagliata
SELECT * FROM ot_posts INNER JOIN ot_postmeta ON ot_posts.ID = ot_postmeta.post_id AND ot_postmeta.meta_key = 'nominativo' AND ot_postmeta.meta_key = 'indirizzo' WHERE post_type = 'iscritti' ORDER BY ot_posts.post_title ASC
Grazie mille
-
Aggiornamento query
ho implementato le parentesi ma mi restituisce due record, uno con il campo nominativo e uno con il campo indirizzo. c'è modo di avere tutto in un unico record?
grazie ancoraSELECT * FROM (ot_posts INNER JOIN ot_postmeta ON ot_posts.ID = ot_postmeta.post_id ) WHERE post_type = 'iscritti' AND (ot_postmeta.meta_key = 'nominativo' OR ot_postmeta.meta_key = 'indirizzo') ORDER BY ot_posts.post_title ASC
-
Ciao,
prova così:SELECT CONCAT(nominativo, ' ', indirizzo) FROM (ot_posts INNER JOIN ot_postmeta ON ot_posts.ID = ot_postmeta.post_id ) WHERE post_type = 'iscritti' AND (ot_postmeta.meta_key = 'nominativo' OR ot_postmeta.meta_key = 'indirizzo') ORDER BY ot_posts.post_title ASC
-
@Shad said:
Ciao,
prova così:> SELECT CONCAT(nominativo, ' ', indirizzo) FROM (ot_posts INNER JOIN ot_postmeta ON ot_posts.ID = ot_postmeta.post_id ) WHERE post_type = 'iscritti' AND (ot_postmeta.meta_key = 'nominativo' OR ot_postmeta.meta_key = 'indirizzo') ORDER BY ot_posts.post_title ASC >``` :ciauz: Messaggio di errore Unknown column nominativo in field list
-
Sì beh, io non so come si chiamano le colonne da te. Ho concatenato una colonna "nominativo" con una "indirizzo" in questo punto:
SELECT CONCAT(nominativo, ' ', indirizzo)
sostituiscile con i nomi giusti delle colonne nel tuo database.
-
nominativo e indirizzo sono due campi della tabella postmeta
devo usare postmeta.meta_key = 'nominativo'?
-
Ho risolto mettendo diversi inner e usando gli alias
SELECT * FROM ot_posts INNER JOIN ot_postmeta AS m1 ON ( ot_posts.ID = m1.post_id ) INNER JOIN ot_postmeta AS m2 ON ( ot_posts.ID = m2.post_id ) WHERE ot_posts.post_type = 'iscritti' AND ( m1.meta_key = 'nominativo') AND ( m2.meta_key = 'indirizzo') GROUP BY ot_posts.ID ORDER BY ot_posts.post_title ASC;
p.s. come faccio a mettere il topic risolto?