在潜伏着stackoverflow之后,总是找到我的答案),我终于需要发表自己的问题了。
我是MySQL新手并且一直使用访问查询设计器来帮助我学习/将我的查询转换为SQL。
在我尝试转换使用其他查询(子查询)的访问查询之前,此工作正常。
以下是完成的Access查询:
SELECT all_assm_start_stop.*, employee.first_name
FROM all_assm_start_stop LEFT JOIN employee ON all_assm_start_stop.employee_id = employee.employee_id
all_assm_start_stop 基于此访问查询:
(SELECT assemblies.assemblies_id, assemblies.assembly_name, labor.start_time, labor.stop_time, labor.number_completed, labor.employee_id, assemblies.product_id
FROM labor RIGHT JOIN assemblies ON labor.assemblies_id = assemblies.assemblies_id
WHERE (((assemblies.product_id)=2)))
我一直在研究MySQL子查询,但无法弄清楚如何转换它。
非常感谢任何帮助!
答案 0 :(得分:0)
作为一个不得不这么做的人,这是我发现的最直接/直接的转换方法:
SELECT all_assm_start_stop.*, employee.first_name
FROM ([original query]) AS all_assm_start_stop
LEFT JOIN employee ON all_assm_start_stop.employee_id = employee.employee_id
;
(注意[original_query]
是你提供第二个的地方,为了简洁和清晰/普遍,我以这种方式发布了答案。)
编辑:如果该查询在很多其他查询中使用过,您可能需要考虑将其设为VIEW。
答案 1 :(得分:0)
SELECT a.assemblies_id
, a.assembly_name
, l.start_time
, l.stop_time
, l.number_completed
, l.employee_id
, a.product_id
, e.first_name
FROM assemblies a
LEFT
JOIN labor l
ON l.assemblies_id = a.assemblies_id
LEFT
JOIN employee e
ON e.employee_id = a.employee_id
WHERE a.product_id = 2