2016-04-28 7 views
0

私はSQLに新しいので、これが可能かどうか疑問に思います。テーブルから値を取得し、excistの場合はテーブル2の値を追加してください

これはおそらく超簡単な解決策ですが、私はそれを解決するようです。私はOracleデータベースを使用しています。

Employee_Table
employeeNr
ユーザ名
アドレス
epost

Computer_Table:私はUSIだとき
employeeNr
ComputerNumber

をComputerUpdated私はコンピュータのみを持つユーザーを取得し、このSQLSTRINGを使用している場合は

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

ngの。私はすべてのユーザーと1つのコンピュータを持っている人のコンピュータを取得したいと思います。

今、100万ドルの質問です。どのような変更が必要ですか?

+0

[joinsのこのすばらしい説明](http://blog.codinghorror.com/a-visual-explanation-of-sql-joins/)を参照してください。 –

答えて

0

FROM句にカンマを使用しないでください。必ず明示的にJOINを使用してください。この場合

は、あなたがLEFT JOINをしたい:あなたはLEFT JOINを使用する場合

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

、最初のテーブルの上に条件がWHERE句に行きます。 2番目のテーブルの条件はON節にあります。

+0

私は欲しがっていました。今、もう1つのテーブルを追加することで苦労しています。 、 **写真** EmployeeNr 画像 これをSQLにどのように追加できますか?別のLEFT JOINを追加しようとしましたが、動作していないようです:( – Sondre

関連する問題