我有兩個表中包含的數據:如何在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'? –