表A(字段:RecordID,ParentID)与表A关联,如果当前记录的ParentID为0则显示本记录的recordID,否则显示父记录的RecordID,哪位仁兄知道如何写?请指点指点,非常感谢!

解决方案 »

  1.   

    這個意思?Select 
    RecordID,
    (Case ParentID When 0 Then RecordID Else ParentID End) As ParentID
    From A
      

  2.   

    谢谢楼上,不好意思,我的描述有误,重新描述如下表A(字段:RecordID,ParentID,ProjectName)与表A关联,如果当前记录的ParentID为0则显示本记录的ProjectName,否则显示父记录的ProjectName,还请再回答一下,谢谢!
      

  3.   

    trySelect 
    T1.RecordID,
    T1.ParentID,
    (Case T1.ParentID When 0 Then T1.ProjectName Else T2.ProjectName End) As ProjectName
    From 
    A T1
    Inner Join
    A T2
    On T1.ParentID = T2.RecordID
      

  4.   

    為0的節點在數據庫中應該不存在,好象這樣也可以Select 
    T1.RecordID,
    T1.ParentID,
    IsNull(T2.ProjectName, T1.ProjectName) As ProjectName
    From 
    A T1
    Inner Join
    A T2
    On T1.ParentID = T2.RecordID
      

  5.   

    谢谢,可还是不包括,partentID是0的,on给过滤掉了
      

  6.   

    不好意思,寫錯了,用Left JoinSelect 
    T1.RecordID,
    T1.ParentID,
    IsNull(T2.ProjectName, T1.ProjectName) As ProjectName
    From 
    A T1
    Left Join
    A T2
    On T1.ParentID = T2.RecordID
      

  7.   

    谢谢楼上耐心的写的了这么多遍!
    SELECT T1.RFMProjectID, T1.ParentID, 
          (CASE T1.ParentID WHEN 0 THEN T1.ProjectName ELSE T2.ProjectName END) 
          AS ProjectName
    FROM RFMProject T1 LEFT OUTER JOIN
          RFMProject T2 ON T1.ParentID = T2.RFMProjectID