2016-09-01 57 views
1

我要問的東西MySQL之間的結合2表

我有2個表和that`s是搜索條件Item_Master_List

enter image description here

現在我的目標是基於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 

完整的代碼,這裏是輸出

enter image description here

現在我有我的一些程序標準,它看起來像這樣

enter image description here

這是我的問題。我如何在我的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 = ''; 

enter image description here

其他問題

我有其他的表稱爲Table: StockAdjust,這就是它有

enter image description here

和n流,我有最好的代碼是高於此

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 GIitem_master_list IML其中使用FF GI.ItemCode = IML.ItemCode和過濾標準。 IML.ItemCode, IML.Description and IML.StandardUOM

現在我在這裏的問題是如何應用NOT IN命令?像

Above code.....AND GI.ItemCode NOT IN (select ItemCode in StockAdjust)

我怎麼能在這裏應用的代碼,會做上面的代碼,它不會包括在數據已經StockAdjust那;

回答

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 = '' 
+0

先生是否適用於like命令?和不在?例如,我會將'='改爲'LIKE',並將'%'放在單詞的末尾,並添加另一個'NOT IN(選擇TableName中的Columname)'命令? –

+0

@NyxAssasin這聽起來很合理。你能用你的想法更新你的問題嗎? –

+0

當然我會馬上更新 –