【发布时间】:2019-01-20 19:30:01
【问题描述】:
我在这样的选择语句中有查询连接:
select a.item_number, total_quantity, store, factory
from (
select item_number, sum(quantity) as "total_quantity"
from `item_details`
group by item_number
) `a`
left join (
select item_number, sum(quantity) as 'store'
from `item_details` where location_code = 'STORE'
group by item_number
) `b` on `a`.`item_number` = `b`.`item_number`
left join (
select item_number, sum(quantity) as 'factory'
from `item_details`
where location_code = 'FACTORY'
group by item_number
) `c` on `a`.`item_number` = `c`.`item_number`
order by `item_number` asc
从上面的查询中,如果我使用带有字段 id、item_no、数量和 location_code 的表 item_details,就会出现
如果执行查询,结果如下:
结果是正确的。但在这里我想创建动态的现场商店和工厂。所以它取自桌子位置。因为数据位置是动态的。可以添加和删除
所以我有这样的字段 id 和描述的表格位置:
item_details 表中的字段 location_code 是位置表中字段 id 的外键
那么如何从位置表中创建选择动态字段?
注意:
我使用“在 select 语句中查询连接”,因为我之前没有表位置。现在我使用表格位置。因为位置表中的数据是动态的。它可以添加和删除。所以我想像上面的表 1 一样显示它的位置。看来它需要加入表。但我仍然很困惑这样做
【问题讨论】:
-
@Barmar 为什么这个问题被标记为重复?这真的对我没有帮助
-
您询问了有关在 MySQL 中创建动态列的问题。这就是动态支点。
-
@Barma 是的。但似乎我的情况与那个情况有点不同
-
我重新打开了。你需要更清楚地解释你的问题。显示你想要得到的结果。并尝试自己编写代码,然后我们将帮助您修复它;我们不会从头开始为您编写代码。
-
@Barmar 好的。但似乎我已经更清楚地解释了我的问题。但我会尝试再次更新它