Tables and logic Example Output 假设“ column1”和“ column2”是数据表中的唯一列。因此,我试图基于column2对数据进行分组。例如,表如下:
APL Apple
APL Apple
APL Apple
ORG Orange
ORG Apple
GVA Apple.
APL
是Apple,ORG
是Orange,因此它们将分别分为“ A”和“ B”。 ORG苹果和GVA苹果将被归类为“其他”。我怎么做?我需要查询表吗?如果可以,如何将查询表合并到数据表中?
答案 0 :(得分:0)
SELECT COL1, COL2, ifnull(LkpTbl.grp, 'Others') grp
FROM Table1
left outer join LkpTbl
in table1.col1 = LkpTbl.col1
仅将需要分组的查询表APL
和ORG
放入
答案 1 :(得分:0)
您只想要一个case
表达式吗?
select (case when column1 = 'APL' and column2 = 'Apple' then 'A'
when column1 = 'ORG' and column2 = 'Orange' then 'B'
else 'Others'
end) as column3
from t;
如果要将其用作查找表,则可能是这样的:
select t.*, coalesce(v.grp, 'Others')
from t left join
(values ('APL', 'Apple', 'A'), ('ORG', 'Orange', 'B')
) v(column1, column2, grp)
on t.column1 = v.column1 and t.column2 = v.column2;