SELECT
    A.ID,
    A.AccountID,
    B.OrganFullName,
    A.AccountType,
    B.OrganShortName,
    C.StageName,
    A.AddTime
 FROM AccountInfo A  
join OrganInfo B on A.StageID=B.OrganID
 left join StageInfo C on A.StageID=C.StageIDAccountType是用户类型,如果为1那么就在界面上显示OrganShortName的值,如果为0就显示StageName的值,在哪里判断比较好呢?下面是界面上的绑定
 <td>
                                <%#Eval("AccountType")%>&nbsp;
                            </td>

解决方案 »

  1.   

    可以再界面上处理,gridview绑定时对该列处理,或者sql语句中就组织好,通过case  when语句
      

  2.   

        在SQL中怎么写啊,可以告诉我吗?
      

  3.   


    三元运算符 来判定
    <td>
    <%#DataBinder.Eval(Container.DataItem, "AccountType", "{0} ") ==1 ? DataBinder.Eval(Container.DataItem, "OrganShortName", "{0} "): 
    DataBinder.Eval(Container.DataItem, "StageName", "{0} ")%>
    </td>
      

  4.   

      报错:运算符“==”无法运用于string和int类型的数据
      

  5.   

    SELECT A.ID, A.AccountID, B.OrganFullName, A.AccountType, B.OrganShortName, C.StageName, A.AddTime , CASE WHEN AccountType='1' THEN OrganShortName WHEN AccountType='0' THEN StageName END SSS FROM AccountInfo A join OrganInfo B on A.StageID=B.OrganID left join StageInfo C on A.StageID=C.StageID