How can I combine result and subquery for IN comparison (mysql)
Posted
by user325804
on Stack Overflow
See other posts from Stack Overflow
or by user325804
Published on 2010-04-26T09:08:37Z
Indexed on
2010/04/26
9:13 UTC
Read the original article
Hit count: 232
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
© Stack Overflow or respective owner