【问题标题】:combine two fields and increment the resualt by 1合并两个字段并将结果增加 1
【发布时间】:2015-08-13 09:46:06
【问题描述】:

我正在处理一个查询,它将结合两个字段(4 个数字)数字,然后在另一列(6 个数字)中搜索以找到一个以上述组合数字(4 个数字)开头的数字,然后在其中搜索这些对于数字最高的人,将其归还并增加1,

示例:

Num1 Num2 组合 > 11 22 112233 > 11 22 112234 > 22 34 223425 11 22 1122xx

xx 应该是 35 ,所以组合数应该是 112235 NUM1 和 NUM2 可用,目前正在手动更新组合库,我需要更改它 任何想法。

【问题讨论】:

    标签: sql sql-server sql-update full-text-search increment


    【解决方案1】:

    您似乎想要一个连接 Num1 和 Num2 列的查询,然后在它们组合的第三列中搜索:

    DECLARE @FirstFour Int = CONCAT(Num1, Num2)
    SELECT TOP(1) Combined + 1
    FROM Table Where Combined Like @FirstFour% 
    Order Desc;
    

    这将在使用连接的字符串/数字搜索组合列后选择最大的组合数字。现在,当您将其作为数字返回到您的页面时,只需在其中添加 1 即可。

    编辑:现在可见性更好,您可以将返回的值转换为变量,然后将其加 1 并将其返回给客户端/页面/应用程序

    Edit2:这应该可以工作

    【讨论】:

    • 感谢@DieVeenman,这是我可以用来开始的一个很好的起点,我对语法迷路了,但现在我明白了:)
    • 尝试使用上面的 SQL 并告诉我它是否有效:)
    • 不幸的是,它不起作用,这是查询:'DECLARE @FirstFour Int = CONCAT(T0.[U_prodcode], T0.[U_typecode]) SELECT TOP(1) T0.[U_compcode ] + 1 FROM AIQG where T0.[U_compcode] Like '@FirstFour%%' order by T0.[U_compcode] Desc'
    • 显示此错误:显示以下错误 Msg 4104, Level 16, State 1, Line 1 无法绑定多部分标识符“T0.U_prodcode”。 Msg 4104, Level 16, State 1, Line 1 无法绑定多部分标识符“T0.U_typecode”。
    猜你喜欢
    • 1970-01-01
    • 2015-06-25
    • 1970-01-01
    • 2020-11-12
    • 2015-01-10
    • 2017-07-23
    • 2018-10-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多