假设我有 2 张桌子
,一张名为 Baskets,
另一张名为 Fruits。
篮子- 篮子
ID,篮子名称
1 - 篮子一
2 - 篮子二
Fruits
-fruit_id、basket_id、fruit_name
1 - 1 - 香蕉
2 - 1 - 苹果
3 - 2 - 梨
SELECT * FROM baskets
JOIN (SELECT GROUP_CONCAT(fruit_id SEPARATOR ', ') FROM fruits WHERE baskets.basket_id=fruits.basket_id) AS der_fruits
ON baskets.basket_id=der_fruits.basket_id
现在有了这个查询,我想得到 2 行(因为有 2 个篮子),其中包含水果 id 的列表。
像这样:
basket_id, fruits
1 - 1, 2
2 - 3
但刚才我得到的是:
basket_id, fruits
2 - 1, 2, 3
问题是,我必须在 DERIVED 表中传递全局 baskets.basket_id 值。MySQL中有没有类似全局范围的东西?
或者有没有办法在派生表内的变量中传递全局 baskets.basket_id 值?