将访问查询转换为 MYSQL
Converting Access Query to MYSQL
潜伏在 Whosebug 上多年,总能找到我的答案),我终于需要 post 我自己的问题了。
我是 MySQL 的新手,一直在使用访问查询设计器来帮助我 learn/convert 我对 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 子查询,但不知道如何转换它。
非常感谢任何帮助!
作为一个不得不这样做太多次的人,这是我找到的最多 direct/literal 的转换方法:
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]
是放置您提供的第二个的位置,为了简洁起见,我以这种方式发布了答案 clarity/generality。)
编辑:如果该查询在许多其他查询中使用,您可能需要考虑将其改为 VIEW。
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
潜伏在 Whosebug 上多年,总能找到我的答案),我终于需要 post 我自己的问题了。
我是 MySQL 的新手,一直在使用访问查询设计器来帮助我 learn/convert 我对 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 子查询,但不知道如何转换它。
非常感谢任何帮助!
作为一个不得不这样做太多次的人,这是我找到的最多 direct/literal 的转换方法:
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]
是放置您提供的第二个的位置,为了简洁起见,我以这种方式发布了答案 clarity/generality。)
编辑:如果该查询在许多其他查询中使用,您可能需要考虑将其改为 VIEW。
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