【发布时间】:2022-01-22 09:02:03
【问题描述】:
我有一个大表,其中一些列具有查找值。我想为每个查找列创建一个描述列,并使用查找表中的描述填充它们。
这是一个例子
主表
select id1, id2, id3 from idtable;
| id1 | id2 | id3 |
|---|---|---|
| 1 | 2 | 3 |
| 1 | 3 | 4 |
查表
select code, id, desc from lookup;
| code | id | desc |
|---|---|---|
| id1 | 1 | id1-desc1 |
| id2 | 2 | id2-desc2 |
| id2 | 3 | id2-desc3 |
| id3 | 3 | id3-desc3 |
| id3 | 4 | id3-desc4 |
我想要这样的结果集:
| id1 | id1desc | id2 | id2desc | id3 | id3desc |
|---|---|---|---|---|---|
| 1 | id1-desc1 | 2 | id2-desc2 | 3 | id3-desc3 |
| 1 | id1-desc1 | 3 | id2-desc3 | 4 | id3-desc4 |
为此编写 SQL 解决方案的最佳和最有效的方法是什么?
【问题讨论】:
-
仅供参考
case是一个表达式而不是一个语句。 -
根据问题指南,请展示您的尝试并告诉我们您发现了什么(在本网站或其他地方)以及为什么它不能满足您的需求。
-
提示:
LEFT JOIN、LEFT JOIN和LEFT JOIN... -
您好,我仍在试图弄清楚如何接受答案。这是一个很棒的社区,ahsla 总是帮助我。您能否指导选择“接受答案”的选项在哪里?
-
@SQLSERVERDAWG 虽然可能不像它应该的那么明显,但解释是here
标签: sql sql-server tsql select sql-server-2012