select * from ZS_Banci as B join
(SELECT * FROM InfoPart as p LEFT JOIN InfoYcl as Y ON P.gxNameYcl = Y.gxName) as h
on B.gxNamePart=h.gxName(h.gxName是不是歧义?)
我要用()查询结果p表中的gxName字段和ZS_Banci连接,但是p表和Y表都有gxName字段,我该如何解决?一定要更改字段名么
...全文
1037打赏收藏
哪个老大帮我看看?
select * from ZS_Banci as B join (SELECT * FROM InfoPart as p LEFT JOIN InfoYcl as Y ON P.gxNameYcl = Y.gxName) as h on B.gxNamePart=h.gxName(h.gxName是不是歧义?) 我要用()查询结果p表中的gxName字段和ZS_Banci连接,但是p表和Y表都有gxName字段,我该如何解决?一定要更改字段名么
select * from ZS_Banci B join
(SELECT p.*,y.col1,y.col2....y.colend FROM InfoPart p LEFT JOIN InfoYcl Y ON P.gxNameYcl = Y.gxName) as h
on B.gxNamePart=h.gxName
AnsiString SqlStr;
SqlStr="SELECT * FROM ZS_Banci B INNER JOIN";
SqlStr+=" ZS_Ycl X ON B.gxIdB = X.gxIdYx INNER JOIN";
SqlStr+=" ZS_ManhourPay M ON B.gxIdB = M.gxIdM INNER JOIN";
SqlStr+=" ZS_Inhouse I ON B.gxIdB = I.gxIdI INNER JOIN";
SqlStr+=" ZS_Shengchan S ON B.gxIdB = S.gxIdSc LEFT OUTER JOIN";
SqlStr+=" (SELECT * FROM GXSystem..G_InfoPart as P LEFT JOIN";
SqlStr+=" GXSystem..ZS_InfoYcl as Y ON P.gxNameYcl = Y.gxName) PY ON";
SqlStr+=" B.gxNamePartB = PY.gxNameP";
Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add(SqlStr);
if(!Query1->Prepared)
Query1->Prepare();
Query1->Open();
运行出错阿():提示"多次为PY引用了gxId"