为一组SQL语句分配数字分数

时间:2016-02-21 23:11:44

标签: sql sql-server

我希望有人可以帮我找到在SQL中执行此操作的最佳方法。 如果我有大约5个选择语句 例如,

1)从付款a中选择名称 在a.id = b.id上加入地址b(如果此陈述得分= 4)

2)从付款x中选择姓名 在x.id = y.id上加入地址y(如果此语句得分= 7)

用于了解该人选择的最佳逻辑以及如何为该名称指定数值

的最佳逻辑是什么?

2 个答案:

答案 0 :(得分:1)

我不知道我是否完全理解您的问题,但也许您可以在每个SELECT语句中选择一个值来指示它来自哪个查询。换句话说,

select name, 4 AS score from payment a join address b on a.id = b.id (if this statement score = 4)

select name, 7 AS score from payment x join address y on x.id = y.id (if this statement score = 7)

答案 1 :(得分:1)

如果没有错,你正在寻找类似的东西

SELECT CASE
         WHEN statement_score = 4 THEN 'statement_score_4'
         WHEN statement_score = 7 THEN 'statement_score_7'
         .....
       END AS identifier,
       name
FROM   payment a
       JOIN address b
         ON a.id = b.id
            AND statement_score IN( 4, 7,.. )