我试图在单个表中执行基于条件的查询,这是我在sql server中的查询。其中PATTERN是列名,默认值设置为0,我只想将结果显示到excel表格的一个单元格中。我链接了SQL server和Excel工作表。
IF ([PATTERN] = 1)
BEGIN
SELECT PATTERN,COLOR,SHIFT FROM [DEFECT_RESULTS]
END
ELSE
SELECT MODEL,COLOR FROM [DEFECT_RESULTS]pattern列存在,但以下错误仍在显示错误:列名称'PATTERN‘无效。
发布于 2018-12-19 19:01:20
您需要在if条件中执行查询。SQL不知道您引用的是哪个表/函数。
就像这样
if exists (select 1 from DEFECT_RESULTS where PATTERN = 1)
begin
…如果DEFECT_RESULTS中有任何行匹配,它将执行if的真实部分。您可能需要更具体的条件。
发布于 2018-12-19 18:59:57
declare @pattern int
if (@pattern=1)
begin
SELECT PATTERN,COLOR,SHIFT FROM [DEFECT_RESULTS]
end
else if(@pattern=0)
begin
SELECT MODEL,COLOR FROM [DEFECT_RESULTS]
end发布于 2018-12-19 19:47:52
单个查询有时不能返回2列,有时不能返回3列。也许您只需要两个查询:
SELECT PATTERN, COLOR, SHIFT
FROM [DEFECT_RESULTS]
WHERE PATTERN = 1;
SELECT MODEL, COLOR
FROM [DEFECT_RESULTS]
WHERE PATTERN = 0;https://stackoverflow.com/questions/53849764
复制相似问题