回答

收藏

根据特定的列值将SQL列拆分为多个列

技术问答 技术问答 224 人阅读 | 0 人回复 | 2023-09-12

我想写一个查询,列出我们大学提供的课程。一个程序至少包括一个主要的,可能包括一个选项、一个专业和一个子专业。这四个元素中的每个元素都有详细的代码,它们与专业相关。  P* M% A2 ]8 d2 m0 f
一个专业可以有零或多个选项,一个选项可以有零或多个选项,一个专业可以有零或多个子选项。相反,允许专业没有相关的选择。4 s/ B1 ?  L2 {* e- [3 W
在结果集中,一行必须包含前一个元素才能具有下一个元素,即一行不包含major,no
8 K. J  O& x% T! y, G. Hoption和speciality。与专业相关的专业的出现意味着与专业相关的选择也存在。3 A* f* t- G6 z1 S4 I% U
我的问题是如何存储数据。所有程序数据都位于此表中:2 u$ }9 W: w2 D3 t5 |0 j5 v5 b
    ---------------- --------------- ------ | program_name   | program_level | code | ---------------- --------------- ------ | Animal Science | Major         |    1 || Equine         | Option        |    1 || Dairy          | Option        |    1 || CLD            | Major         |    2 || Thesis         | Option        |    2 || Non-Thesis     | Option        |    2 || Development    | Specialty     |    2 || General        | Subspecialty  |    2 || Rural          | Subspecialty  |    2 || Education      | Major         |    3 | ---------------- --------------- ------ 所需输出如下:' J' n0 E6 E& R1 s* L, E( T
    ---------------- ------------- ---------------- ------------------- ------ | major_name     | option_name | specialty_name | subspecialty_name | code | ---------------- ------------- ---------------- ------------------- ------ | Animal Science | Equine      |                |                   |    1 || Animal Science | Dairy       |                |                   |    1 || CLD            | Thesis      | Development    | General           |    2 || CLD            | Thesis      | Development    | Rural             |    2 || CLD            | Non-Thesis  | Development    | General           |    2 || CLD            | Non-Thesis  | Development    | Rural             |    2 || Education      |             |                |                   |    3 | ---------------- ------------- ---------------- ------------------- ------ 到目前为止,我已经尝试在这个代码上创建四个查询,每个查询都是基于不同的 program_level选择。这些字段合并不正确。' ]& \9 [# e! x" s3 u4 M+ }
                                                                ' w5 y7 R4 Q6 ~* Z7 A) i
    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则