首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL中的xlookup函数

SQL中的xlookup函数
EN

Stack Overflow用户
提问于 2021-03-15 19:26:32
回答 1查看 123关注 0票数 0

我有两个表需要从中检索数据,但我还想添加一个新列(researchIDName),它将根据列researchID中的ID显示列companyname中的名称。

在excel中,xlookup就足够了,但我想知道是否有方法可以将它包含在我当前的SQL脚本中?

我已经在下面包含了我当前的脚本和表格的外观。

代码语言:javascript
复制
SELECT c1.SID, c1.FID, c1.companyname, 
       C1.parentID, c1.parentname, c1.companytype,
       c1.companystatus, c2.researchID,
FROM c2 left join
     c1 
     on c2.SID = c1.SID

*编辑根据戈登的评论,下面的脚本用于连接两个表,但现在我需要此脚本添加一个名为'researchIDName‘的额外列。

代码语言:javascript
复制
SELECT c1.SID, c1.FID, c1.companyname, 
       C1.parentID, c1.parentname, c1.companytype,
       c1.companystatus, c2.researchID
FROM c1 LEFT JOIN
     c2 
     ON c2.SID = c1.SID

通常在Excel中,我会使用下面的xlookup公式将数据添加到'researchIDName‘列。我的问题是如何在SQL中添加这个额外的列。

代码语言:javascript
复制
XLOOKUP(researchID, c2.SID, C2.Companyname)

**编辑..为了简化表格,我在下面添加了一个更新的图像(带有一个额外的表格c0)。因此,现在我有3个表,我想从其中看到SID,FID,注释,公司名称,ResearchID所有,还有一个额外的列命名为'ResearchIDName‘。在excel中,我只需要使用一个xlookup函数来查找researchID,然后从表c2中检索与之相关的公司名。请看下面的脚本,让我知道我应该添加什么,以便将此ResearchIDName列添加到我的结果中。

Tables as shown

选择c0.FID,c0.Comments,c1.sid,c2.Companyname,c2.ResearchID,ResearchIDName

来自c0

c1.FID=c0.FID上的Left join c1

c2.SID=b2.SID上的Left join c2

EN

回答 1

Stack Overflow用户

发布于 2021-03-15 19:31:22

你的查询基本上是正确的。唯一的问题是,您可能需要来自c1的所有行以及来自c2的额外列。为此,c1表应该是LEFT JOIN中的第一个表

代码语言:javascript
复制
SELECT c1.SID, c1.FID, c1.companyname, 
       C1.parentID, c1.parentname, c1.companytype,
       c1.companystatus, c2.researchID
FROM c1 LEFT JOIN
     c2 
     ON c2.SID = c1.SID

我还删除了FROM子句前面的逗号。

当然,如果c1中的所有SID都填充了正确的值,那么您根本不需要外部连接。在这种情况下,c1/c2FROM子句中的顺序并不重要。

编辑:

如果要将该名称与researchId相关联,则应使用另一个JOIN

代码语言:javascript
复制
SELECT c1.SID, c1.FID, c1.companyname, 
       C1.parentID, c1.parentname, c1.companytype,
       c1.companystatus, c2.researchID,
       c2r.companyName
FROM c1 LEFT JOIN
     c2 
     ON c2.SID = c1.SID LEFT JOIN
     c2 c2r
     ON c2r.SID = c2.ResarchID
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66637084

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档