2017-05-21 79 views
0

嘗試獲取兩個表以顯示錶中的數據。Mysql連接未顯示結果

表1(供應商)的所有供應商的詳細信息 表2(repdetails)有我們所有代表的細節和代理商

表1和表2都有REPID列

這裏的SQL查詢:

SELECT suppliers.ID, suppliers.Suppliername, suppliers.postcode, suppliers.address, suppliers.phone, suppliers.fax, suppliers.email, suppliers.website, suppliers.Active, suppliers.imagename, suppliers.RepID, repdetails.RepID, repdetails.RepName, repdetails.RepEmail, repdetails.RepPhone 
FROM suppliers 
JOIN repdetails 
ON suppliers.RepID = repdetails.RepID 

The blank fields show where the data should be

任何幫助,不勝感激!

+1

也許你沒有'suppliers.RepID = repdetails.RepID'? – Gedweb

回答

0

您是從Supliers中選擇的,您是否試過了左連接?林不知道你的數據庫的樣子,如果這對你的目標

SELECT 
    suppliers.`ID`, 
    suppliers.`Suppliername`, 
    suppliers.`postcode`, 
    suppliers.`address`, 
    suppliers.`phone`, 
    suppliers.`fax`, 
    suppliers.`email`, 
    suppliers.`website`, 
    suppliers.`Active`, 
    suppliers.`imagename`, 
    suppliers.`RepID`, 
    repdetails.`RepID`, 
    repdetails.`RepName`, 
    repdetails.`RepEmail`, 
    repdetails.`RepPhone` 
FROM suppliers 
LEFT JOIN repdetails ON suppliers.`RepID` = repdetails.`RepID` 

是有用而且您選擇RepID兩次。如果你在結果中需要這些信息,你可以試試

suppliers.`RepID` as s_repid, 
    repdetails.`RepID` as r_repid, 

但是也許你只是想刪除這些行或保留1?

+1

兩次選擇相同的字段不會「覆蓋」,您將在結果集中得到兩個具有相同名稱(但正確值)的字段。如果您按索引訪問字段,則永遠不會注意到。如果你是按名稱做的話,那麼你會感到沮喪。 – Donnie

+0

沒有工作對不起 –

+0

也許其他東西是錯誤的;) –