2016-10-19 3 views
1

Ich habe drei Tabellen zu vergleichen, die unten:Wie Wert von drei Tabelle in mysql

Employee 
+---------------+-------------+--------+ 
| employee_name | street  | city | 
+---------------+-------------+--------+ 
| abhishek  | viman nagar | pune | 
| neha   | lohegaon | pune | 
| prasahnt  | viman nagar | pune | 
| rahul   | viman nagar | pune | 
| rahul singh | lohegaon | mumbai | 
+---------------+-------------+--------+ 

Works 
+---------------+------------------+--------+ 
| employee_name | company_name  | salary | 
+---------------+------------------+--------+ 
| prasahnt  | First Bank Corp | 90000 | 
| rahul   | First Bank Corp | 85000 | 
| abhishek  | First Bank Corp | 95000 | 
| rahul singh | Second Bank Corp | 45000 | 
| neha   | Second Bank Corp | 65000 | 
+---------------+------------------+--------+ 

Company 
+------------------+--------+ 
| company_name  | city | 
+------------------+--------+ 
| First Bank Corp | pune | 
| Second Bank Corp | mumbai | 
+------------------+--------+ 

mag ich alle employee_name erhalten, die als von der Firma gleiche Stadt hat, in dem sie arbeiten, wie ich kann. mach das.

Antwort

0
SELECT DISTINCT e.employee_name 
    FROM employee e, 
     works w 
     company c 
WHERE e.employee_name = w.employee_name 
    AND w.company_name = c.company_name 
    AND e.city = c.city; 
+0

Thank you very much. Ich habe das gleiche versucht, aber nur zwei und Aussagen verwendet. – Prashant

+0

Können Sie auch upvote, wenn Sie mit der Antwort zufrieden sind. – Teja

+1

Sie sollten die ANSI JOIN-Syntax verwenden. Ich erhebe deshalb die andere Antwort. – Barmar

1

Sollte dies zu tun in der Lage mit JOIN und einem WHERE, etwa so:

SELECT * 
FROM Employee e 
JOIN Works w ON w.employee_name = e.employee_name 
JOIN Company c ON c.company_name = w.company_name 
WHERE c.city = e.city