如何编写Sql查询

如何编写Sql查询,sql,sql-server,stored-procedures,Sql,Sql Server,Stored Procedures,上面是我的数据库,我希望结果如下 EnumID EnumTypeID EnumName EnumParentID 1 1 India 0 2 2 Gujarat 1 3 3 Ahmedabad 2 4 3 Bhavnagar 2

上面是我的数据库,我希望结果如下

      EnumID    EnumTypeID  EnumName    EnumParentID
        1       1            India         0
        2       2            Gujarat       1
        3       3            Ahmedabad     2
        4       3            Bhavnagar     2
        5       3            Botad         2
        6       3            Rajkot        2
        7       1            Australia     0
        8        2            abc           7
        9        3            adilade       8

Here EnumTypeID 1 indicate "Country"
                2 indicate "State"
                3 indicate "City" 

选择所需的所有字段,并按城市排序,作为ASC或DESC的升序或降序记录

EnumID  Country State City 
  3      India  Gujarat Ahmedabad
  4      India  Gujarat Bhavnagar
  5      India  Gujarat Botad
  6      India  Gujarat Rajkot
  9      Australia abc  adilade
(终止令) 按城市描述从表名顺序中选择EnumID、国家、州、城市
(降序)

选择您想要的所有字段,并按城市排序,作为ASC或DESC的升序或降序记录

EnumID  Country State City 
  3      India  Gujarat Ahmedabad
  4      India  Gujarat Bhavnagar
  5      India  Gujarat Botad
  6      India  Gujarat Rajkot
  9      Australia abc  adilade
(终止令) 按城市描述从表名顺序中选择EnumID、国家、州、城市
(降序)

必须使用三个级别的自联接:

Select EnumID,Country,State,City  From TableName Order by City  Asc
现在,您知道您的表中可能有不一致的信息。假设第二级始终为EnumTypeID=2,第三级始终为EnumTypeID=3。相反,您可能有错误的数据,这些数据具有父ID,但EnumTypeID=1(基本上是一个国家/地区内的一个国家/地区),等等


当您有层次数据(即带有父链接的数据)同时指定记录所在的图层时,父链接和图层编号可能不一致。换句话说,如果child.parent=parent,则始终需要确保parent.layer=child.layer-1。确保代码执行此检查。

必须使用三个级别的自联接:

Select EnumID,Country,State,City  From TableName Order by City  Asc
现在,您知道您的表中可能有不一致的信息。假设第二级始终为EnumTypeID=2,第三级始终为EnumTypeID=3。相反,您可能有错误的数据,这些数据具有父ID,但EnumTypeID=1(基本上是一个国家/地区内的一个国家/地区),等等


当您有层次数据(即带有父链接的数据)同时指定记录所在的图层时,父链接和图层编号可能不一致。换句话说,如果child.parent=parent,则始终需要确保parent.layer=child.layer-1。确保您的代码执行此检查。

这不是他想要的-表中不包含国家、州或城市列。它们被汇总到列中:EnumTypeId和EnumName这不是他想要的-表中不包含列Country、State或City。它们被汇总到以下列中:EnumTypeId和EnumName谢谢stephen,但它不能给出实际的结果,我正在寻找它到底出了什么问题?有错误信息吗?它是一个格式错误的SQL吗?我们没有你的数据库,所以你可能需要在这里做一些工作,你知道!这没什么问题,我没有得到任何错误,我得到了答案,但我的数据有50%是从我发出的查询中检索出来的,就像下面的国家城市印度古吉拉特邦艾哈迈达巴德印度古吉拉特邦巴夫纳格印度古吉拉特邦博塔德印度古吉拉特邦拉吉科坦你举了一个例子,说明应该返回的记录很少,但没有?很高兴给出您在这个查询中已经看到的内容。Country State City
India Gujarat Ahmedabad India Gujarat Bhavnagar India Gujarat Botad India Gujarat Rajkot
谢谢stephen,但它无法给出实际结果,我正在寻找什么问题?有错误信息吗?它是一个格式错误的SQL吗?我们没有你的数据库,所以你可能需要在这里做一些工作,你知道!这没什么问题,我没有得到任何错误,我得到了答案,但我的数据有50%是从我发出的查询中检索出来的,就像下面的国家城市印度古吉拉特邦艾哈迈达巴德印度古吉拉特邦巴夫纳格印度古吉拉特邦博塔德印度古吉拉特邦拉吉科坦你举了一个例子,说明应该返回的记录很少,但没有?最好给出您在这个查询中已经看到的内容。国家-州-城市
印度古吉拉特邦艾哈迈达巴德印度古吉拉特邦巴夫纳格印度古吉拉特邦博塔德印度古吉拉特邦拉吉科特