gpt4 book ai didi

SQL,条件列值?

转载 作者:行者123 更新时间:2023-12-04 21:01:32 24 4
gpt4 key购买 nike

我的表中的一列是“DataSource”。数据源可以有两个值,比方说“A”或“B”。当 Datasource = "A"时,我想始终使用该行,但是,如果没有 A 的条目,我想使用 "B"。

如何在 SQL Server 中执行此操作?

编辑:

因此对于特定产品(产品 ID),一个产品 ID 可能有两行,每行包含一个不同的数据源,而另一个产品 ID 可能只有一个数据源:

{ProductID DataSource}
{1 A},
{1 B},
{2 B}

这里我想选择顶行和底行

最佳答案

编辑后的几个选项...

SELECT
*
FROM
table
WHERE
DataSource = 'A'
OR DataSource = 'B' AND NOT EXISTS (SELECT * FROM table AS lookup WHERE ProductID = table.ProductID AND DataSource = 'A')


SELECT
*
FROM
table
INNER JOIN
(SELECT ProductID, MAX(DataSource) AS DataSource FROM table) AS lookup
ON lookup.ProductID = table.ProductID
AND lookup.DataSource = table.DataSource


WITH
sequenced AS
(
SELECT
*,
ROW_NUMBER() OVER (PARTITION BY ProductID ORDER BY DataSource) AS sequence_id
FROM
table
)
SELECT
*
FROM
sequenced
WHERE
sequence_id = 1

关于SQL,条件列值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8910350/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com