How can I combine result and subquery for IN comparison (mysql)
- by user325804
In order for a school project i need to create the following situation within one mysql query.
The situation is as such, that a child's tags and a parent's tags need to be combined into one, and compared to a site's tags, depending on a few extra simple equals to lines.
For this to happen I only see the option that the result of a subquery is combined with a sub query within that query, as such:
SELECT tag.*, (SELECT group_concat(t1.id, ',', (SELECT
group_concat(tag.id)
FROM
adcampaign
INNER JOIN adcampaign_tag ON adcampaign.id = adcampaign_tag.adcampaign_id
INNER JOIN tag ON adcampaign_tag.tag_id = tag.id
WHERE
adcampaign.id = 1))
FROM
ad, ad_tag, tag AS t1
WHERE
ad.id = ad_tag.ad_id AND
ad_tag.tag_id = t1.id AND
ad.adcampaign_id = 1 AND
ad.agecategory_id = 1 AND
ad.adsize_id = 1 AND
ad.adtype_id = 1) as tags
FROM tag WHERE tag.id IN tags
But the IN comparison only returns the first result because now the tags aren't a list but a concanated string.
Anyone got any suggestion on this? I really need a way to combine it into one array