我有两个表中包含的数据:如何在JOIN中包含额外的select语句? PHP - MySQL的
tagmap
===============
item | tagid
---------------
1111 | 101
1111 | 102
2222 | 101
2222 | 103
3333 | 104
4444 | 105
4444 | 106
5555 | 101
5555 | 103
==============
项目+标签识别=复合主键
风味
===============
id | flavor
---------------
101 | flavorA
102 | flavorB
103 | flavorC
104 | flavorD
105 | flavorE
106 | flavorF
===============
ID =主键
我运行PHP + MySQL。我有一个像这样的查询;
SELECT DISTINCT GROUP_CONCAT(a.tagid ORDER BY a.tagid) tags
FROM tagmap a
JOIN tagmap b
ON b.item = a.item
AND b.tagid <= a.tagid
WHERE b.tagid = '101'
GROUP
BY a.item;
我把它存储到一个变量$query
,它返回的数据就像;
flavorA,flavorB
flavorA,flavorC
在PHP中,我使用
$result = mysql_query($query);
while($row = mysql_fetch_array($result)){
$tag = $rowa['tags'];
echo $tag."<br>";
}
代码以打印结果。但是随着这一点,我想要味道ID,我想存储到另一个变量,如;
$result = mysql_query($query);
while($row = mysql_fetch_array($result)){
$tag = $rowa['tags'];
$tagid = $rowa['tagid'];//what I am looking for.
echo $tag."<br>";//echoes flavorA,flavorB
echo $tagid."<br>";//want to echo 101,102
}
在每foreach
循环,我想存储id
S作为CSV在一个变量和flavor
S作为CSV另一个变量。例如,当它返回flavorA,flavorB
时,我想将它存储在$tag
(已在做)和101,102
中$tagid
(我想要额外购买)。
我该怎么做?我的意思是,在哪里/如何包含select flavor
声明以及如何获取?
@Strawberry,但这种情况下返回'id's孤单。现在我需要两个,名称和ID ..希望你理解... –
@Strawberry你能不能将它张贴作为答案请.. –
那么我在哪里使用select name和ids语句?它是否像'SELECT ID DISTINCT GROUP_CONCAT(a.tagid ORDER BY a.tagid)tags'? –