SQL查询在两个表中显示匹配

时间:2014-06-19 21:38:59

标签: mysql sql

G  K  1  2  3  4 ...
K  2  2  1  1  3 ...              
1  2  2  4  2  2
2  1  4  2  5  2

我有两张桌子。父表和学生表。我需要找到哪个家长或家庭有两个不同年级的孩子。上表显示了有多个不同年级的孩子的父母数量。例如,K级和1年级,有两个家庭有两个孩子,他们都是K和一年级。

我需要做的是提出一个查询,找出哪个家庭或父母有两个不同年级的孩子。

1 个答案:

答案 0 :(得分:0)

您可以在SQL中执行此操作,但这是一个令人不快的查询:

select (sum(k + `1` + `2` + . . . ) -
        (case when g = 'k' then k
              when g = `1` then `1`
              when g = `2` then `2`
              . . .
        )
       ) / 2
from table t;

基本思想是你在一条线上取所有数字的总和,减去对角线上的数字,然后除以2.注意这可能不对。有三个年级的孩子的家庭将被超越。您没有足够的信息来解决此问题。更详细的信息会有所帮助。