SQL查询表内部联接

SQL查询表内部联接,sql,sql-server,Sql,Sql Server,我遇到一个问题,SKU的颜色与正确的线条不匹配。csv行/项目不匹配,并且似乎存在大量重复项。csv中的DIM_1_UPR字段需要与SKU、条形码和供应商SKU字段匹配。我想我把我的内心世界搞砸了 这是一个带有一个项目的屏幕截图。。您可以看到它显示了288行。它多次复制相同的内容,并且SKU/供应商SKU/条形码基本上从USR\U MAG\U ITEM\U EXP到所有内容都与表中的其余部分不匹配或不正确对齐: 我必须使用所有的钥匙吗?或者我可以只使用一个项目吗 这是我的密码: SELECT

我遇到一个问题,SKU的颜色与正确的线条不匹配。csv行/项目不匹配,并且似乎存在大量重复项。csv中的DIM_1_UPR字段需要与SKU、条形码和供应商SKU字段匹配。我想我把我的内心世界搞砸了

这是一个带有一个项目的屏幕截图。。您可以看到它显示了288行。它多次复制相同的内容,并且SKU/供应商SKU/条形码基本上从USR\U MAG\U ITEM\U EXP到所有内容都与表中的其余部分不匹配或不正确对齐:

我必须使用所有的钥匙吗?或者我可以只使用一个项目吗

这是我的密码:

SELECT    

dbo.IM_PRC.ITEM_NO, dbo.IM_PRC.REG_PRC, dbo.IM_PRC.PRC_1, 
dbo.IM_PRC.PRC_2,dbo.IM_ITEM.CATEG_COD,
dbo.IM_ITEM.SUBCAT_COD, dbo.IM_ITEM.STAT, dbo.IM_ITEM.LST_COST, 
dbo.IM_ITEM.USER_MAG_NAME, dbo.IM_INV_CELL.LOC_ID, 
dbo.IM_INV_CELL.DIM_1_UPR, dbo.IM_INV_CELL.MIN_QTY, dbo.IM_INV_CELL.MAX_QTY, 
dbo.IM_INV_CELL.QTY_ON_HND, dbo.USR_MAG_ITEM_EXP.SKU, 
dbo.USR_MAG_ITEM_EXP.VENDOR_SKU,
dbo.USR_MAG_ITEM_EXP.BARCOD

FROM dbo.IM_PRC
INNER JOIN dbo.IM_ITEM ON dbo.IM_PRC.ITEM_NO = dbo.IM_ITEM.ITEM_NO 
INNER JOIN dbo.IM_INV_CELL ON dbo.IM_INV_CELL.ITEM_NO = dbo.IM_PRC.ITEM_NO
INNER JOIN dbo.USR_MAG_ITEM_EXP ON dbo.USR_MAG_ITEM_EXP.ITEM_NO = 
dbo.IM_PRC.ITEM_NO

WHERE dbo.IM_INV_CELL.LOC_ID IN ('01', '03', '11', '12', '14', '23') and 
dbo.IM_ITEM.ITEM_NO = 'grohrostbk'
ORDER BY IM_INV_CELL.LOC_ID ASC
编辑:所以做一个完整的outter连接,并添加aaron建议的用于连接的额外语法,没有重复!但是


如何包括没有颜色的母产品或添加空的DIM\u 1\u UPR例如,我希望在主表中包括顶行-选择前5项\u编号、名称、sku、DIM\u 1\u UPR,来自dbo.USR\u MAG\u ITEM\u EXP的供应商sku,其中ITEM\u NO='grohrostbk'屏幕:

如果您查看屏幕截图,您可以看到第一行的DIM\u UPR为*且供应商sku为HROSTBK,但当我运行主连接表时,我看不到这一行,因为它有*且没有颜色。关于如何包含它有什么想法吗?

请不要上传数据的图像。为什么?您还需要使用别名。列列表中的3和4部分命名已经有一段时间不推荐了。我不知道SQL,这将是一个一次性使用的东西。这里仍然需要真实的细节,而不是图像。看起来您的表有很多自定义数据类型,而且非常缺乏规范化。您有违反1NF的重复组,这是一个非常痛苦的工作。作为一个暗中操作,我想说您的查询是不正确的,因为您在这些表中有复合键,并且您只加入了部分键。考虑是否有一个名称为两列的主名表,作为主键的第一个名字和姓氏。但您仅以第一个名称加入到另一个表。每排都有约翰尼·史密斯和约翰尼·多伊。加入整个密钥,您的查询可能会得到您想要的结果。没问题,每个人都曾经是100%的noob.:要清楚,没有多个主键。任何表都只能有一个主键。但该键可以由多个列组成。这些金钥匙表示您有一个复合主键。你只加入了一部分钥匙。