sql左边以逗号分隔的字段值加入subselection

时间:2014-01-13 06:42:24

标签: mysql sql

我需要从表Ngr中取出groups列,在两个以上的科目中,学生的分数是坏的(= 2),这些学生的数量是该组的一半:

    SELECT Ngr 
    FROM subject 
        LEFT JOIN groups ON (subject.Ngr = groups.Ngr) 
    WHERE....

在这里我无法继续

感谢您将来的建议!

基团:

| Ngr | Name_of_speciality |
----------------------------
|  1  |  Physics           |
..........................

主题:

| Ngr | Name   | marks                     |
-------------------------------------------
|  1  | Physics|2,2,3,3,5,5,5,4,3,2,2,5,2,4|
...........................................
祝你好运!

1 个答案:

答案 0 :(得分:0)

继续发表评论;

  

你必须使用LIKE;但是重新设计表格以使每个标记成为一个单独的行不是更好吗?

     

@Luceos,我该怎么做?

这取决于你的表格格式;你在桌子上复制了物理,为什么?你有一个名为Physics的小组和一个名为Physics的小组,那应该是像Physics 1这样的考试名字吗?然后,如果您不想将标记连接到学生,则可以为主要ID创建一个自动增量列:

| id  | Ngr | Name   | mark                     |
-------------------------------------------
|  1  |  1  | Physics|2                          |
-------------------------------------------
|  2  |  1  | Physics|5                          |
...........................................

Etcetera ..这样你可以通过mark = 2或mark< = 2进行选择,并在连接中获得结果。