SQL:有两列新旧SKUS。如果有新的 skus,需要拉入一个单独的列
SQL: Have two two columns of old and new SKUS. Need to pull into a single column with new skus if any
我有两列包含来自 Table1 的数据,其中包含 SKU 编号和新 SKU 编号。我的目标是将此数据作为单个列进行查询,如 'Desired' Table
中所示
+-------+--------+ +---------+
| SKU | NEW_SKU| | Desired |
+-------+--------+ |---------+
| null | 1 | | 1 |
| null | 1 | | 1 |
| 2 | null | | 2 |
| 2 | 3 | | 3 |
| 2 | 5 | | 5 |
+-------+--------+ +---------+
目前我有:
SELECT
SKU
CASE WHEN (SKU IS NOT NULL AND NEW_SKU IS NOT NULL) THEN new_sku
WHEN (SKU IS NULL AND NEW_SKU IS NOT NULL) THEN new_sku
ELSE SKU END AS Product_number
FROM Table1
此处使用COALESCE
:
SELECT SKU, NEW_SKU, COALESCE(NEW_SKU, SKU) AS Product_number
FROM Table1;
如上所用,COALESCE
函数将使用 NEW_SKU
值(如果它不是 NULL
),否则将退回到使用 SKU
值。
我有两列包含来自 Table1 的数据,其中包含 SKU 编号和新 SKU 编号。我的目标是将此数据作为单个列进行查询,如 'Desired' Table
中所示+-------+--------+ +---------+
| SKU | NEW_SKU| | Desired |
+-------+--------+ |---------+
| null | 1 | | 1 |
| null | 1 | | 1 |
| 2 | null | | 2 |
| 2 | 3 | | 3 |
| 2 | 5 | | 5 |
+-------+--------+ +---------+
目前我有:
SELECT
SKU
CASE WHEN (SKU IS NOT NULL AND NEW_SKU IS NOT NULL) THEN new_sku
WHEN (SKU IS NULL AND NEW_SKU IS NOT NULL) THEN new_sku
ELSE SKU END AS Product_number
FROM Table1
此处使用COALESCE
:
SELECT SKU, NEW_SKU, COALESCE(NEW_SKU, SKU) AS Product_number
FROM Table1;
如上所用,COALESCE
函数将使用 NEW_SKU
值(如果它不是 NULL
),否则将退回到使用 SKU
值。