我看不到任何错误,但谁知道。
此查询有效:
select distinct id_mat_bauteil from material_bestueckungslinien E where exists(
select id_mat_bauteil from(
select id_mat_bestueckungslinie from (
select id_mat_bestueckungslinie, id_material from material_musterbestueckungen A
union all
select id_mat_bestueckungslinie, id_material from material_sonderbestueckungen B) C
where C.id_material = 10154) D
where D.id_mat_bestueckungslinie = E.id_mat_bestueckungslinie)
但是如果我用另一个子查询扩展这个查询,它会给我一个错误:
Select * from material_bauteile Z
where exists (
select distinct id_mat_bauteil from material_bestueckungslinien E where exists(
select id_mat_bauteil from(
select id_mat_bestueckungslinie from (
select id_mat_bestueckungslinie, id_material from material_musterbestueckungen A
union all
select id_mat_bestueckungslinie, id_material from material_sonderbestueckungen B) C
where C.id_material = 10154) D
where D.id_mat_bestueckungslinie = E.id_mat_bestueckungslinie) F
where F.id_mat_bauteil = Z.id_mat_bauteil)
错误:
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 10 行的“F where F.id_mat_bauteil = Z.id_mat_bauteil)”附近使用正确的语法