我有三个表:
+------------------------------------------+
| profile_employee |
+------------------------------------------+
| id | first_name | last_name | phone | cv |
+----+------------+-----------+-------+----+
+------------+
| joburi |
+------------+
| id | titlu |
+----+-------+
+---------------------------------------+
| job_to_profile |
+---------------------------------------+
| id | id_job | id_profile | created_at |
+----+--------+------------+------------+
我想从所有这三个表中选择所有信息,我有此查询,但只选择了first,last,phone,cv:
SELECT jtp.id,
jtp.created_at as data_aplicare,
profile_employee.first_name,
profile_employee.last_name,
profile_employee.phone,
profile_employee.cv
FROM profile_employee
LEFT JOIN job_to_profile jtp ON jtp.id_profile = profile_employee.id
如果这里有很多答案,但仍然不停地梳理头发,以获得所需的结果。那里的任何SQL专家都可以看到一个简单的解决方案。可能需要的JOIN令人不快。
答案 0 :(得分:1)
您可以使用INNER JOIN
使用以下内容:
SELECT *
FROM profile_employee pe INNER JOIN job_to_profile jtp ON pe.id = jtp.id_profile
INNER JOIN joburi j ON jtp.id_job = j.id
答案 1 :(得分:0)
您从关系表 job_to_profile 开始,并内部连接到两个nomeclator表 profile_employee 和 joburi :
select
p.id, p.first_name, p.last_name, p.phone, p.cv
, j.id, j.titlu
, jp.id, jp.id_job, jp.id_profile, jp.created_at
from
job_to_profile jp
inner join joburi j on j.id = jp.id_job
inner join profile_employee p on p.id = jp.id_profile
答案 2 :(得分:0)
尝试这样构图:
Select *
from table A T1
inner join table B T2 ON t1.field = t2.field
inner join table C T3 on t1.field = t3.field
例如
SELECT * FROM profile_employee
LEFT JOIN job_to_profile jtp
ON profile_employee.id = jtp.id_profile
LEFT JOIN joburi juri
ON profile_employee.id = juri.id