我在執行
Data_win.ADOQ_cfcx.SQL.Add('select a.cfdh,a.cf_date,a.hzxm,a.xb,a.age,a.bz,a.zz,b.xm,(case a.biaozhi when 0 then ''未登記'' when 1 then ''己登記'' end) as biaozhi,a.uid,d.mz from cfd a ');
Data_win.ADOQ_cfcx.SQL.Add('inner join ryxx b on a.doct=b.gh');
Data_win.ADOQ_cfdy.SQL.Add('inner join bmxx d on a.uid=d.id');
Data_win.ADOQ_cfcx.SQL.Add('group by a.cfdh,a.cf_date,a.hzxm,a.xb,a.age,a.bz,a.zz,b.xm, biaozhi,a.uid,d.mz');
Data_win.ADOQ_cfcx.Open;
Data_win.ADOQ_cfcx.Active:=true;時出現
無法邦定由多個部分組成的識別符號“d.mz”錯誤提示。
可在SQLSERVER2005可執行這個查詢陳述句是沒問題的。這到底是什么原因?
uj5u.com熱心網友回復:
我在 2012里面除錯了下, 你SQL陳述句應該是沒錯的.不過, 這個陳述句, 為啥要這么分組呢? 如果只是為了去重, 不是有 distinct 嘛?
你這個陳述句中, 又沒有聚合函式, 所以這個分組貌似可以不要, 直接用 distinct 去重就好了額.
Data_win.ADOQ_cfcx.SQL.Add('select distinct a.cfdh,a.cf_date,a.hzxm,a.xb,a.age,a.bz,a.zz,b.xm,(case a.biaozhi when 0 then ''未登記'' when 1 then ''己登記'' end) as biaozhi,a.uid,d.mz from cfd a ');
Data_win.ADOQ_cfcx.SQL.Add('inner join ryxx b on a.doct=b.gh');
Data_win.ADOQ_cfdy.SQL.Add('inner join bmxx d on a.uid=d.id');
Data_win.ADOQ_cfcx.Open;
Data_win.ADOQ_cfcx.Active:=true;
uj5u.com熱心網友回復:
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/83487.html
標籤:數據庫相關
下一篇:請教一個關于idcmpClient方面的問題,ping主機時反饋‘cannot allocate socket’
