列作为子查询

时间:2019-05-07 15:00:18

标签: sql sql-server tsql

需要具有第三列,该列将对第一列(单词)中的所有点求和,但是它将对所有单词(如每一行的'%word%')中的点求和,例如单词'chef'将具有“厨师”和“厨房厨师”等要点。

SELECT word, SUM(points) as points  
  FROM table
group by word

3 个答案:

答案 0 :(得分:2)

您可以对此进行测试。但是,加入LIKE的效果不是很好。

-1>>10 == -1

答案 1 :(得分:1)

如果我理解正确,我可能会为此使用correlated subquery

select distinct w.word, 
      (select sum(points) from words w2 where w2.word like '%' + w.word + '%') as points
from words w

答案 2 :(得分:0)

选择中的相关子查询会降低性能。我建议使用加入或交叉申请

class Resident(models.Model):

    property_id = models.ForeignKey('Property', null=True,
                   on_delete=models.SET_NULL, db_column='property_id')

    active = models.IntegerField(default=1)