Mysql查询:获取网格视图中的所有结果

时间:2012-05-22 09:28:19

标签: mysql

我有四张桌子:

  1. 分类
  2. 类型
  3. 疾病 - 有相关疾病。在同一个表中使用 childOf 字段来关联父和子疾病之间的父子关系。你可以说有不同程度的疾病。疾病等级1,然后是其他许多疾病。使用单表管理。
  4. 治疗疾病 - 治疗疾病
  5. 除了这些之外,我还有所有其他表格,例如

    1. 类别有类型
    2. 类型有疾病
    3. 疾病已经治疗
    4. 我有一个搜索按钮。我想在搜索后显示网格视图中的所有记录。像这样 。如果我没有选择任何东西并点击搜索..

      Category name  -  Type     - disease                         - Treat
      --------------------------------------------------------------------------------
      record 1       -   type    -  level 1                        - treatment
      
      record 1       -   type    -  level 1.1 (child of level 1)   - treatment
      
      record 1       -   type    -  level 1.2 (child of level )    - treatment
      

      任何人都可以建议我怎样才能做到这一点。只是一个提示。我会写查询。我不知道我应该从哪个表开始获取数据

      谢谢

2 个答案:

答案 0 :(得分:1)

查看数据,我想您的描述应该是

  1. 疾病有类型
  2. 类型有一个类别
  3. 疾病有一种享受
  4. 疾病可能有父母疾病
  5. 所以你应该从疾病开始,加入类型和进一步的类别,并加入治疗疾病。

    关于层次结构:

    解决方案很大程度上取决于您的疾病等级是否具有固定的深度。如果你有一个固定的深度,例如最大值。 1个孩子,您可以通过childOF列从“疾病d_child”添加到“疾病d_parent”的外部联接。您也可以将检索所有“根病”的查询与所有“儿童疾病”联合起来。如果您的层次结构没有固定的深度,您应该考虑进行多个查询并以编程方式组合结果。

答案 1 :(得分:0)

嗯,这一切似乎有点复杂,而且相互依赖。

我会在它们之间有单独的表和一个关系表,它们将它们全部链接起来,并根据需要选择加入数据。

这将返回包含您需要的不同疾病的所有数据的行。

问题有点含糊不清。