查找多列上有文本的行数。需要一个别名行来显示

问题描述 投票:0回答:1

我有一个包含多列的表。“产品名称”是其中之一。表有多个产品的记录。产品名称也用在自由文本字段中。我需要有关“产品名称”或“自由文本”字段中列出的特定产品有多少行的报告。 表如下: 产品名称 | 问题描述 | 微软 | 展望不起作用 联想| 笔记本电脑蓝屏 三星| 微软Word问题

我需要如下结果:

产品 |记录数

微软 | 2(一个用于 Outlook 问题,另一个用于不同产品的 Word 问题)

我需要该产品(可以是别名),但需要结果中包含“Microsoft” 这可以实现吗?

我尝试使用“WITH”和 AS 进行子查询。不起作用。

我正在使用带有徒手 SQL 的报告工具。无法通过子查询实现。感谢任何指导。

postgresql
1个回答
0
投票

您可以使用 UNION 组合“产品名称”和“问题描述”列的结果来实现此目的。这是一个适合您的情况的 SQL 查询:

SELECT 'Microsoft' AS Product, COUNT(*) AS number_of_records
FROM (
   SELECT "Product Name"
   FROM your_table
   WHERE "Product Name" = 'Microsoft'
   
   UNION ALL
   
   SELECT "Issue description"
   FROM your_table
   WHERE "Issue description" LIKE '%Microsoft%'
) AS combined_results
© www.soinside.com 2019 - 2024. All rights reserved.