表a:
aId , aNname 表b
bId , bName 希望用 SELECT 语句 ,当 aId=bId 的时候 返回 一个别名 s 结构为  aId&' '&bName AS s

解决方案 »

  1.   

    我写了  select aId , iif(表b.bId=aid,aId&' '&bName ,aName )AS s from 表a ...报错误“至少一个参数没有被指定值。 ”
      

  2.   

    --iif()是Access函数,不是SQL Server函数,SQL Server用case when
    case when 变量=1 then 2 else 3 end
      

  3.   

    sorry , 没说清楚 , 我用的是 access
      

  4.   

    iif()必须是三个参数,如:iif(a=b,1,2)表示:如果a=b,则返回1,否则返回2
      

  5.   

    select aId , iif(表b.bId=aid,aId&' '&bName ,aName )AS s from 表a ...我写的是3个参数呀
      

  6.   

    select aId , iif(表b.bId=aid,  aId&' '&表b.bName ,  aName )AS s from 表a ...我写的是这样的感觉上有逻辑错误 ,好像不能找到 b.bid对应的b.bname 。有什么办法吗
      

  7.   

    --中间加上空格,检查你拼写的字段名是否正确select aId , iif(表b.bId=aid,aId & ' ' & bName ,aName ) AS s
    from ...
      

  8.   

    SELECT 1 AS bChecked, '' AS Positionstatus, basetable.codecaption AS newketa, f.* FROM (SELECT basetable.codecaption AS newTketa, e.* FROM (SELECT basetable.codecaption AS newXketa, d.* FROM (SELECT basetable.codecaption AS newTaxMode, c.* FROM (SELECT basetable.codecaption AS newNDate, b.*FROM [select basetable.codecaption as TName1,a.* from (SELECT  Code,BCode,iif((Tokuisakibunrui.Code)=BCode , BCode & ' ' , BCode) AS codeshimebi, mid(name,31,30) AS name1, ' ' AS zip1, Address2 AS address1, fax&' ' AS tel1, ToriKbn&' ' as Seikbn1, SeiCord&' ' as newSeikbn, iif(ZanKbn=0,'偡傞','偟側偄') AS newSeimeikbn, Seikeisiki&' ' AS SeiType1, Nmonth as NDate, cstr(KingakuSort) as NyuJyokenCaption, Sogaku as Taxmode, Xmarume&' ' as Xketa1, TMarume as Tketa, Marume as keta, Writsu as newTkubun, Jogen as Densyu FROM tokuisaki where enableflg=0 ) a left join basetable on ( val(basetable.codevalue)=a.Seikbn1 and basetable.id=100 and basetable.type='public' and fieldid='ToriKbn' and basetable.Enableflag=0) ]. AS b LEFT JOIN basetable ON (val(basetable.codevalue)=b.NDate and basetable.id=100 and basetable.type='public'  and fieldid='Smonth'and basetable.Enableflag=0)) c LEFT JOIN basetable ON (val(basetable.codevalue)=c.TaxMode and basetable.id=100 and basetable.type='public' and fieldid='Taxkbn'and basetable.Enableflag=0)) d LEFT JOIN basetable ON (val(basetable.codevalue)=d.Xketa1 and basetable.id=100 and basetable.type='public' and fieldid='Xmarume'and basetable.Enableflag=0)) e LEFT JOIN basetable ON (val(basetable.codevalue)=e.Tketa and basetable.id=100 and basetable.type='public' and fieldid='Xmarume'and basetable.Enableflag=0)) f LEFT JOIN basetable ON (val(basetable.codevalue)=f.Keta  and basetable.id=100 and basetable.type='public' and fieldid='Marume'and basetable.Enableflag=0)
      

  9.   

    第5行 : (SELECT  Code,BCode,iif((Tokuisakibunrui.Code)=BCode , BCode & ' ' , BCode) AS   这里报错Code,Bcode 都是有的, 表Tokuisakibunrui名字也没错 ,去掉iif 那句就正常的
      

  10.   

    Tokuisakibunrui.Code-->改为Tokuisakibunrui.[Code]