Sql 搞乱了连接,我想得到两个表数据

Sql 搞乱了连接,我想得到两个表数据,sql,join,inner-join,firebird,Sql,Join,Inner Join,Firebird,已编辑 我正在努力从表格中获取数据,但我没有运气 我的问题 选择code.code、WARE.QTY 来自代码 WARE.ID=code.ID上的左连接WARE 按代码分组。代码,物料数量 按代码订购 我的代码表是 CODE |ID --------------|----------- 1402201700006 | 123 1102201700006 | 124 我的餐具台是 QTY |ID --------------|-----------

已编辑

我正在努力从表格中获取数据,但我没有运气

我的问题
选择code.code、WARE.QTY
来自代码
WARE.ID=code.ID上的左连接WARE
按代码分组。代码,物料数量
按代码订购
我的代码表是

CODE          |ID
--------------|-----------
1402201700006 | 123  
1102201700006 | 124  
我的餐具台是

QTY           |ID
--------------|-----------
12            | 123
1             | 123
2             | 124
1             | 124
我的结果是

CODE          |QTY
--------------|---------
123           |12
123           |1
124           |2
124           |1
而不是

CODE          |QTY
--------------|---------
123           |13
124           |3

我认为这是因为“仓库”表中“items”表中的每个“id”都有多行

因此,您可以使用以下查询:

SELECT items.name, color.color, size.size, SUM(basket.qty), warehouse.item_sku 
FROM items
INNER JOIN basket ON items.itemid = basket.itemid
INNER JOIN attributes color ON basket.attr1 = color.id
INNER JOIN attributes size ON basket.attr2 = size.id
INNER JOIN (select warehouse.itemid, max(warehouse.item_sku) item_sku from warehouse group by warehouse.itemid)warehouse ON items.id = warehouse.itemid
WHERE items.id = 'a78fa8a3'
GROUP BY items.name, color.color, size.size , warehouse.item_sku

请在deta模型中显示表的DDL并描述其含义,添加所涉及表的示例内容、查询的预期结果和查询的实际结果。例如,我发现您可能正在查询一个名为
warehouse
的表,以获取项目的SKU。我宁愿从一个名为
item
或其他什么的表中看到这一点。如果
warehouse
在仓库中存储项目,则每个项目可能有多个记录(例如每个仓库、每个存储的物理项目、每个存储位置等)。您的仓库将不同的SKU归属于同一项目(似乎不实际)。在这种情况下,您希望发生什么?我注意到,没有进一步的信息,在第一个查询中您使用items.HEID='a78fa8a3',在第二个items.id='a78fa8a3'。此外,当加入到篮子中时,您使用items.itemid。。。那么您的items表中有多少个id呢?:)也许这是一个好消息difference@InnaTichman是的,你是对的,我编辑了我的问题并改为.id,这是因为我想提供一个简单易懂的查询,而不是我真正的问题query@MarkRotteveel对该表中的每个项目都有多条记录。但这是我能找到的唯一一个包含我想在查询中获取的列的表:(是的,它有,此表可能有每个产品多次!我已编辑查询以获取每个itemId的最大值(item_sku)