我是SQL Server 2012的新手。这是我的表DDL & DML脚本。如何使用SQL Server 2012中的聚合函数按组检索数据
CREATE TABLE [tbl_item_i18n]
(
[item_id] [int] NOT NULL,
[lang_id] [int] NOT NULL,
[item_text] [nvarchar](max) NULL
);
INSERT INTO [tbl_item_i18n] ([item_id],[lang_id],[item_text])
VALUES (1, 1, 'item1'), (1, 2, 'idem 1'),
(2, 1, 'item2'),
(3, 1, 'item3'), (3, 2, 'idem 3'),
(4, 1, 'item4'), (4, 2, 'idem 4');
我的预期成果是:
这是我曾尝试:
select
lang_id,
case when lang_id = 2 AND itemI18N.item_text is not null then itemI18N.item_text
when lang_id = 1 then itemI18N.item_text
end as ite_texte
from
tbl_item_i18n itemI18N
group by
itemI18N.item_id, lang_id, itemI18N.item_text
但它并没有给我预期的结果。
目的: - 我想检索lang_id = 2
的数据。如果lang_id = 2
的记录不存在,则检索lang_id = 2
的数据。
如何使用聚合函数检索数据?
ITEM_NAME你想要什么?第一?持续?请解释你的愿望输出的逻辑是什么。 –
那么为每个'item_id'选择'item_name'的规则是什么? –
请考虑更新的问题。 (目的) – unknown