有大类A,B,C,..    小类a1,a2,b1,c1,b2,a3,c2,b3,...最终要求查询结果:C
c1
c2
..
B
b1
b2
..
A
a1
a2
..请问如何设计表及之后的查询SQL,如果表设计如下SQL 怎么查id   name    pid  ..
 1    A       0
 2    B       0
 3    a1      1
 4    b1      2
 5    C       0
 6    b2      2
..    
   

解决方案 »

  1.   

    表间的连接查询。
    select a.id,a.name,b.pid from 
    ta1,ta2
    where a.id=b.id
      

  2.   

    “大类表中的外键关联小类表。只要把表间关系建立好了。表的查询也就好弄了”在大类表建立 外键? 没太明白还有 查询结果 符合 这个顺序么
    最终要求查询结果:C
    c1
    c2
    ..
    B
    b1
    b2
    ..
    A
    a1
    a2
    ..
      

  3.   

    如果 设计 就一个表  pid表示 父级id 大类都是0 小类的话 是大类的id
    id   name    pid
    ------------------
    1 --- A ----- 0
    2 --- B ----- 0
    3 --- a1 ----- 1
    4 --- b1 ----- 2
    5 --- C ----- 0
    6 --- b2 ----- 2
    6 --- a2 ----- 1
    6 --- c1 ----- 4
    6 --- b2 ----- 2
    ===================
    这样的话 查询SQL 如何写