DECLARE @DATA_COL INT = 1
DECLARE @DATA_New INT
DECLARE @Total_COLUMN INT
DECLARE @Trial NVARCHAR(10)
DECLARE @Column INT
DECLARE @plot INT
DECLARE @trt INT
DECLARE @rep INT
DECLARE @block INT
DECLARE @data INT
SET @Total_COLUMN = (SELECT COUNT(DISTINCT (DATA_COLUMN)) FROM FINAL_DATA
WHERE FINAL_DATA.TRIAL_ID='AU_1')
SET @DATA_COL = 1
WHILE @DATA_COL <= @Total_COLUMN
BEGIN
PRINT (SELECT
@Trial = TRIAL_ID, @Column=DATA_COLUMN, @plot = PLOT_NO,
@trt = TRT_NO, @rep = REP_NO, @block = BLOCK_NO, @data = DATA
FROM
FINAL_DATA
WHERE
FINAL_DATA.TRIAL_ID = 'AU_1' AND DATA_COLUMN = @DATA_COL)
SET @DATA_COL = @DATA_COL + 1
END
我正在尝试用distinct data\u列值对表进行子集划分。我无法打印查询。
我得到这个错误:
在此上下文中不允许子查询。只允许使用标量表达式
如果有人能帮我解决这个问题,我将不胜感激。
我也尝试过另一种方法。
select
TRIAL_ID, DATA_COLUMN, PLOT_NO, TRT_NO, REP_NO, BLOCK_NO,DATA
from
FINAL_DATA
group by
DATA_COLUMN, TRIAL_ID
运行此代码时,出现以下错误:
“final\u data.plot\u no”列在选择列表中无效,因为它既不包含在聚合函数中,也不包含在group by子句中。
暂无答案!
目前还没有任何答案,快来回答吧!