【问题标题】:SQL Looking for value between two columnsSQL 在两列之间寻找值
【发布时间】:2020-08-31 04:06:45
【问题描述】:

SQL 查询 我有两张桌子。包含员工当月总销售额的 Sales 表。

具有计算佣金范围的佣金表。

如果 Salestable 中的 TotalCalculation 介于 MinAmount 和 MaxAmount 之间,则将其乘以 Rate。可能会写成存储过程。

我尝试过 between 语句,但除非我硬编码实际数字,否则它不起作用。

【问题讨论】:

  • 向我们展示您的作品。将信息发布为文本而不是图像。询问有关您的代码的哪一部分不起作用的问题。 SO 不是免费的代码编写服务。
  • 这是一个常见问题解答。在考虑发布之前,请阅读您的教科书和/或手册和谷歌任何错误消息或您的问题/问题/目标的许多清晰、简洁和精确的措辞,有和没有您的特定字符串/名称和站点:stackoverflow.com 和标签;阅读许多答案。如果您发布问题,请使用一个短语作为标题。反映你的研究。请参阅How to Ask 和投票箭头鼠标悬停文本。

标签: sql sql-server tsql join select


【解决方案1】:

您可以在不等式条件下加入:

select 
    s.employeeName, 
    s.totalCalculation, 
    s.totalCalculation * c.rate as calculation
from sales s
inner join commission c 
    on s.totalCalculation between s.minAmount and s.maxAmount

【讨论】:

    【解决方案2】:

    你必须在 where 子句中为 min-max 做一个子查询 试试这个

    SELECT *
      FROM SalesTable
      where totalCalculation between (select min(totalCalculation ) from SalesTable) and (select max(totalCalculation) from SalesTable)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-31
      • 1970-01-01
      • 2020-06-30
      • 2021-05-07
      • 2021-03-15
      • 2014-04-24
      相关资源
      最近更新 更多