2016-04-28 55 views
0

我是新來的SQL和即時通訊想知道是否有這樣的事情是可能的。從表中獲取價值並從表2中增加值如果excist

這可能是一個超級簡單的解決方案,但我似乎無法解決它。我正在使用Oracle數據庫。

Employee_Table
employeeNr
用戶名
地址
epost

Computer_Table
employeeNr
ComputerNumber
ComputerUpdated

當我USI納克

SELECT * 
From Employee_Table, 
    Computer_Table 
WHERE Employee_Table.EmployeeNr = Computer_Table.EmployeeNr 
    AND Employee_Table.username LIKE ('%SomeUsername%') 

當我使用這個的SqlString我只得到用戶的計算機。我想讓所有的用戶和那些有電腦的用戶都能使用電腦。

現在是百萬美元的問題。我需要做些什麼修改?

+0

請參閱[此連接的偉大解釋](http://blog.codinghorror.com/a-visual-explanation-of-sql-joins/) –

回答

0

從不在FROM子句中使用逗號。始終使用明確的JOIN

在這種情況下,你想有一個LEFT JOIN

SELECT * 
FROM Employee_Table e LEFT JOIN 
    Computer_Table c 
    ON c.EmployeeNr = c.EmployeeNr 
WHERE e.username LIKE '%SomeUsername%'; 

當您使用LEFT JOIN,在第一個表條件對WHERE條款去。第二張桌子上的條件進入ON條款。

+0

我得到了我想要的,現在我正在努力添加1個表, **圖片** EmployeeNr 圖片 我該如何將此添加到SQL?試圖添加另一個LEFT JOIN,但似乎不工作:( – Sondre