我想问一些事情
我有两张桌子,那是:
表:一般清单
和表:Item_Master_List
现在我的目标是将基于ItemCode的两个表组合起来,如
...where GeneralInventory.ItemCode=Item_Master_List.ItemCode
Select GI.ItemCode,IML.Description,IML.StandardUOM,IML.StandardPrice
from GeneralInventory GI,item_master_list IML where
GI.ItemCode = IML.ItemCode
这是输出
现在我的程序中有一些标准,看起来像这样
这是我的问题。如何在我的MYSQL命令中应用搜索功能?我如何搜索正确的数据?使用组合列?我试过这个,但它导致了多个数据冗余
Select Distinct GI.ItemCode,IML.Description,IML.StandardUOM,IML.StandardPrice from
GeneralInventory GI,item_master_list IML where GI.ItemCode = GI.ItemCode and
IML.ItemCode = '' or IML.Description = 'Baking Soda 454 g' or IML.StandardUOM = '';
其他问题
我有一个名为Table: StockAdjust
的另一个表,这就是它的内容
现在我拥有的最佳代码是
SELECT DISTINCT GI.ItemCode,
IML.Description,
IML.StandardUOM,
IML.StandardPrice
FROM GeneralInventory GI
INNER JOIN item_master_list IML
ON GI.ItemCode = IML.ItemCode
WHERE IML.ItemCode = 'My Data' OR
IML.Description = 'My Data' OR
IML.StandardUOM = 'My Data'
上面的代码会将表格GeneralInventory GI
和item_master_list IML
结合使用GI.ItemCode = IML.ItemCode
,并使用ff过滤条件。 IML.ItemCode, IML.Description and IML.StandardUOM
现在我的问题是如何应用NOT IN
命令?喜欢
Above code.....AND GI.ItemCode NOT IN (select ItemCode in StockAdjust)
如何在此处应用代码来执行上述代码,并且不包含已在StockAdjust
中的数据;
答案 0 :(得分:1)
我认为您在查询中感到困惑,因为您将表连接条件放入WHERE
子句中,该子句还包含搜索逻辑。而是在查询中使用显式连接语法:
SELECT DISTINCT GI.ItemCode,
IML.Description,
IML.StandardUOM,
IML.StandardPrice
FROM GeneralInventory GI
INNER JOIN item_master_list IML
ON GI.ItemCode = IML.ItemCode
WHERE (IML.ItemCode = '' AND
GI.ItemCode NOT IN (SELECT ItemCode FROM StockAdjust) OR
IML.Description = 'Baking Soda 454 g' OR
IML.StandardUOM = ''