Ho le seguenti tabelle:MySQL sinistra dove table2.field = "X"
pagine:
+------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+----------------+
| page_id | int(11) | NO | PRI | NULL | auto_increment |
| type | varchar(20) | NO | | NULL | |
| categories | varchar(255) | NO | | NULL | |
| title | varchar(255) | NO | MUL | NULL | |
| text | longtext | NO | MUL | NULL | |
+------------+--------------+------+-----+---------+----------------+
personalizzato:
+---------+------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+------------------+------+-----+---------+-------+
| page_id | int(10) unsigned | NO | PRI | NULL | |
| key | varchar(255) | NO | PRI | NULL | |
| value | longtext | NO | | NULL | |
+---------+------------------+------+-----+---------+-------+
Voglio unirmi le tabelle in un modo in cui:
1) tutte le voci dalla prima tabella sono r eturned LEFT JOIN custom ON pages.page_id = custom.page_id
2) pages.type IN ('type_a', 'type_b', 'type_c')
3) "key" dalla seconda tabella ha valore "utili" custom.key = 'votes'
feci tutto finora, ma la terza condizione è il problema. Se non c'è una voce per key = 'votes'
nella tabella personalizzata, la query restituisce solo questi con le voci. Voglio restituire NULL
se mancano le voci.
ho bisogno key = 'votes'
, perché ho altre voci di questo page_id dove la chiave non e 'voti' e questo duplica le righe da pagine
Strano. Ho provato questo e non ha funzionato. L'ho ri-provato ora e ha funzionato. Probabilmente ho incasinato qualcosa. Grazie per la tua risposta! –
Questo non ha funzionato per me etere. Potrebbe essere la versione mysql? – amilaishere