Mysql SQL server映射表

Mysql SQL server映射表,mysql,sql-server,Mysql,Sql Server,我有一个问题,如何编写一个查询 下面是一个产品映射表示例 Seq Product 1. [N/A] 2. App 3. App OTH 4. Opp FCL 5. Opp LCL 6. Opp OTH 7. OTH 我有另一个表,一个条目显示几个记录,有时一个条目有几个产品 范例 Seq Entry ProductSales 1. 7SX3456 [N/A] 2. 7SX3456 Opp FCL 3. 7SX3456 Opp OTH 我想写一个查询,逻辑是,如果条

我有一个问题,如何编写一个查询

下面是一个产品映射表示例

Seq Product

 1. [N/A]
 2. App
 3. App OTH
 4. Opp FCL
 5. Opp LCL
 6. Opp OTH
 7. OTH
我有另一个表,一个条目显示几个记录,有时一个条目有几个产品

范例

Seq Entry ProductSales

 1. 7SX3456 [N/A] 
 2. 7SX3456 Opp FCL 
 3. 7SX3456 Opp OTH
我想写一个查询,逻辑是,如果条目产品显示[N/a],那么我将从与条目产品匹配的产品匹配表中搜索第二个产品。因此,在本例中,我将选择“Opp FCL”,因为我不选择[N/A],并且“Opp OTH”在“Opp FCL”之后


因此,我将此条目的产品更新为所有记录的Opp FCL。

使用带有行号的公共表表达式

;WITH CTE
AS
(
   SELECT Seq, Entry, ProductSales, 
          ROW_NUMBER() OVER (Partition By Entry ORDER BY Seq) AS RN
   FROM ProductSales
   WHERE ProductSales <> '[N/A]'
)
SELECT Seq, Entry, ProductSales
FROM CTE
WHERE RN = 1

欢迎使用StackOverflow,请阅读上的指南,以便更好地理解您的问题并为您提供更好的答案。您是否希望从查询中排除具有[N/A]ProductSales值的记录?还是只显示一行?我想排除[N/A],一个条目只保留一个ProductSales。如果这是SQL Server,为什么会有MySQL标记?请移开。谢谢,我怎么没想到这个!