我有一个简单的表,我必须从中进行选择,但是它必须是这样的:
表格示例
StatusID StatusCode BrandID StatusName
1 1 1000 First Status
2 2 1000 Second Status
3 3 1000 Third Status
4 1 2000 First Custom Status
我需要一个选择查询,其中 BrandID = 1000 来输出:
StatusID StatusCode BrandID StatusName
1 1 1000 First Status
2 2 1000 Second Status
3 3 1000 Third Status
我需要一个选择查询,其中 BrandID = 2000 来输出:
StatusID StatusCode BrandID StatusName
4 1 2000 First Custom Status
2 2 1000 Second Status
3 3 1000 Third Status
换句话说,如果 BrandID 是默认值 (1000),我需要选择属于此 BrandID 的所有行,但是如果 BrandID 是 2000,我需要选择属于此 BrandID 的所有行 + 具有默认 BrandID 的行,如果没有 BrandID 2000 的话特定的状态码。我希望这是足够好的解释。这是我一直在研究的问题
SELECT *
FROM table
GROUP BY StatusCode
HAVING BrandID = 2000
显然它没有按预期工作。