Dit volg ik niet helemaal, hoe staat al deze info opgeslagen in de database, en hoe haal je deze op?
Het beste lijkt mij om verschillende kolommen aan te maken/te gebruiken voor de verschillende stukken informatie, of mogelijk zelfs aparte tabellen met relaties.
Mocht je een tabelkolom in je database hebben waarbij je allerlei informatie op een hoop gegooid hebt, weet niet of dat de handigste manier is om gestructureerd informatie op te slaan, hier zijn per slot van rekening databases voor bedoeld.
Op het moment dat je moeite moet doen om de juiste informatie op een makkelijke manier uit je database te peuteren dan is het ontwerp niet geschikt voor het gebruik.
Het is wel te doen in een query, maar met Thomas ben ik het eens, dat dat vaak niet gemakkelijkste manier van werken is.
Helaas doen systemen als WordPress dat vaak wel in het kader van "zo zit het in elk geval in de database, zonder dat wel losse tabellen moeten maken / aanpassen"
Geef eens een voorbeeld hoe je data echt in de tabel staat
SELECT
A.pid AS id,
A.value AS naam,
B.value AS place
FROM tabelnaam A
LEFT JOIN tabelnaam B ON B.pid = A.pid AND B.key = 'place'
WHERE A.key = 'name'
Dit zou NULL moeten opleveren voor place als die niet bestaat. Maar je kolom is er dan wel
mocht place meermaals voorkomen,dan krijg je ook meerdere records terug trouwens!