Php MS SQL查询无法在MySQL上运行

Php MS SQL查询无法在MySQL上运行,php,mysql,sql-server,Php,Mysql,Sql Server,我有一个在MS SQL Server上工作的查询,但不在MySQL上工作: SELECT ppmap_d.*, p_prob.*, ppmap_h.*, p_probgroup.*, p_prod.*, ppmap_d.prob_id AS probid, ppmap_d.map_id AS mapid, ppmap_h.pg_name AS probgname, ppmap_h.m_id AS modelid FROM p_prob INNER JOIN p_prod INNER J

我有一个在MS SQL Server上工作的查询,但不在MySQL上工作:

SELECT ppmap_d.*, p_prob.*, ppmap_h.*, p_probgroup.*,
 p_prod.*, ppmap_d.prob_id AS probid, ppmap_d.map_id AS mapid, 
 ppmap_h.pg_name AS probgname, ppmap_h.m_id AS modelid
FROM p_prob 
INNER JOIN p_prod 
INNER JOIN ppmap_h 
INNER JOIN ppmap_d 
INNER JOIN p_probgroup 
ON ppmap_d.prob_id = p_probgroup.prob_id 
ON ppmap_h.map_id = ppmap_d.map_id AND ppmap_h.pg_name = p_probgroup.pg_name 
ON p_prod.m_id = ppmap_h.m_id 
ON p_prob.prob_id = p_probgroup.prob_id;
我做错了什么

以下查询是正确的,但会导致错误:

SELECT ppmap_d.*, p_prob.* 
FROM ppmap_d INNER JOIN p_probgroup 
ON ppmap_d.prob_id = p_probgroup.prob_id;
错误:

选择ppmap_d.,p_prob。从ppmap\u d内部连接ppmap\u d.prob\u id=p\u probgroup.prob\u id限制0,25 MySQL说:文档

1051-未知表格“dbeshop.p_prob”


您可以发布错误吗?您的查询将无法在任何数据库引擎上运行!将正确的on子句放在每个连接后面,而不是所有连接都放在末尾我如何在此处发布错误stackoverflowSQL查询中没有选项:文档选择ppmap_d.*、p_prob.*、ppmap_h.*、p_probgroup.*、p_prod.*、ppmap_d.prob_id AS probid、ppmap_d.map_id AS mapid、ppmap_h.pgu name AS probgname、,ppmap\u h.m\u id作为模型id,来自ppmap\u d.prob\u id=p\u probgroup.prob\u id内部连接ppmap\u h.map\u id=ppmap\u d.map\u id和ppmap\u h.pg\u name=p\u probgroup.pg\u name内部连接ppmap\u d ON p\u prod.m\u id=ppid\u h.m\u id内部连接p\u probgroup ON p\u ProbId=0,25 MySQL说:文档1054-on子句中的未知列'ppmap_d.prob_id'您有循环连接,您正在连接ppmap_h和ppmap_d,因此它们彼此依赖,您不能这样做。你不能调用任何一个表,因为它们都依赖于另一个表,你必须调用其中一个表两次才能使其生效。请简要解释你修改的答案on位于错误的位置这是正确的答案,更正此错误后,需要将join和ON语句保持在一起1054-ON子句中的未知列“ppmap\u d.prob\u id”
SELECT ppmap_d.*, p_prob.*, ppmap_h.*, p_probgroup.*,
 p_prod.*, ppmap_d.prob_id AS probid, ppmap_d.map_id AS mapid, 
 ppmap_h.pg_name AS probgname, ppmap_h.m_id AS modelid
FROM p_prob 
INNER JOIN p_prod  ON ppmap_d.prob_id = p_probgroup.prob_id 
INNER JOIN ppmap_h ON ppmap_h.map_id = ppmap_d.map_id AND ppmap_h.pg_name = p_probgroup.pg_name 
INNER JOIN ppmap_d ON p_prod.m_id = ppmap_h.m_id 
INNER JOIN p_probgroup ON p_prob.prob_id = p_probgroup.prob_id;