tsql - T-sql:如果发票编号出现在付款描述字段中,则突出显示它们
问题描述
我有两个 sql-server 表:账单和付款。如果账单编号出现在付款描述字段中,我正在尝试创建一个视图以突出显示它们。例如:
表bll
|bllID | bllNum |
| -------- | -------- |
| 1 | qwerty123|
| 2 | qwerty345|
| 3 | 1234 |
表付款
|paymentID | description |
| -------- | ---------------------------------- |
| 1 | payment of qwerty123 and qwerty345 |
我想通过添加 html 代码来突出显示“qwerty123”和“qwerty345”字符串。我的代码是这样的:
SELECT REPLACE(payments.description,
COALESCE((SELECT TOP 1 bll.bllNum
FROM bll
WHERE COALESCE(bll.bllNum, '') <> '' AND
PATINDEX('%' + bll.bllNum + '%', payments.description) > 0), ''),
'<font color=red>' +
COALESCE((SELECT TOP 1 bll.bllNum
FROM bll
WHERE COALESCE(bll.bllNum, '') <> '' AND
PATINDEX('%' + bll.bllNum + '%', payments.description) > 0), '') +
'</font>')
FROM payments
这有效,但仅适用于账单编号的第一次出现。如果描述字段有多个单号,则不会突出显示连续的单号。所以在我的例子中'qwerty123'被突出显示,但不是'qwerty345'
我需要突出显示所有事件。我怎样才能做到这一点?
解决方案
好的,我明白了,我可以将代码放入前端应用程序中,方法是遍历账单编号并在描述中找到它们时替换它们。只是想/希望有一个使用 t-sql 的简单解决方案。但我理解其中的困难。
推荐阅读
- data-structures - 我在代码的高度函数中遇到问题以获取树的高度
- javascript - 如何为在 ngOnInit 中调用的函数编写 jasmine 测试用例?
- sql - SQL Partition By 子句 - 需要第三级但没有唯一值
- python - AttributeError:“NoneType”对象没有属性“email”。烧瓶-sqlalchemy
- anaconda - 我可以在 Anaconda kickstart 文件中识别和设置网络设备名称吗?
- sql - 根据 SQL 中的 WHERE 和 GROUP BY 语句减去列的每一行中的值
- python - 如何在不更改文件名的情况下一次将文件夹中的所有文件而不是单个文件上传到谷歌云存储?
- r - How to find the matched names in different datasets' columns?
- vb.net - 如何并行使用DataGridView。对于?
- python - 格式化输出