我有两个表,即图中的Item_Details和Item_Qty。 Item_Details包含有关该项目的常规详细信息,而Item_Qty包含数量(同一项目有多个条目)。
我的目标
我想创建一个包含Item_Details中所有列以及一个名为Qty的附加列的View。此“数量”列应包含Item_Qty中特定项目的所有数量的总和。为清楚起见,请参阅图片。由于我没有使用sqlite的经验,所以我不知道如何执行这种复杂的查询。谢谢
答案 0 :(得分:1)
CREATE VIEW v_item_qty AS
SELECT
item_details.Sl_No,
item_details.Item,
item_details.Color,
item_details.Size,
SUM(item_qty.Qty) AS Qty
FROM item_details
INNER JOIN item_qty ON item_details.Item = item_qty.Item
GROUP BY item_details.Sl_No, item_details.Item, item_details.Color, item_details.Size
ORDER BY item_details.Sl_No;
这将创建视图以显示所有具有数量记录并汇总数量值的项目。如果某个项目在 item_qty 表中没有记录,则该项目将不会出现在该视图中。
如果需要添加没有数量记录的项目,则需要将 INNER JOIN 更改为 LEFT JOIN 。
答案 1 :(得分:1)
假设您了解SQL的基础知识(如果不了解,则整个Internet上都有大量资源),您只需要将问题分解为几小部分,就会发现事实并非如此。完全复杂。
Qty
是Item_Qty
表中数量的总和。您将需要SUM
集合函数,可在https://www.sqlite.org/lang_aggfunc.html#sumunc这里找到文档。FROM item_qty iq, item_details id
Item
列与另一表中的Item
列相匹配的子句。像WHERE iq.item = id.item
在执行CREATE VIEW {name} as
步骤之前,我建议您进行查询并获得所需的结果。