use*_*274 5 sql lookup join vlookup
我是SQL的新手,如果你有空闲的时刻,我想知道是否有人可以帮我复制VlookupSQL中的Excel 函数吗?
从一些研究中,我怀疑它是join我需要的功能之一,但是,我不想只选择两个表中包含的数据 - 我只想在1个表中查找另一个表中的值.
如果数据包含在查找表中,则返回值,如果不包含,则返回NULL.
我在下面给出了几个示例表来帮助说明我的问题.
请注意,产品'C'和'D'不在表2中,但它们仍在结果表中但具有NULL值.
我也有大量独特的产品,所以我不是在寻找一个包含硬编码的答案,例如; CASE WHEN [Product] = 'A' THEN...
表格1
Product Quantity
-------------------
A 10
B 41
D 2
C 5
B 16
A 19
C 17
A 21
Run Code Online (Sandbox Code Playgroud)
表2
Product Cost
-----------------
A £31.45
B £97.23
Run Code Online (Sandbox Code Playgroud)
结果表
Product Quantity Cost
-----------------------------
A 10 £31.45
B 41 £97.23
D 2 NULL
C 5 NULL
B 16 £97.23
A 19 £31.45
C 17 NULL
A 21 £31.45
Run Code Online (Sandbox Code Playgroud)
看起来你需要一个外连接,我将在我的例子中使用左边的连接:
select t1.Product, t1.Quantity, t2.Cost
from table1 as t1
left outer join table2 as t2
on t1.Product = t2.Product
Run Code Online (Sandbox Code Playgroud)
您也可以省略外部关键字:
select t1.Product, t1.Quantity, t2.Cost
from table1 as t1
left join table2 as t2
on t1.Product = t2.Product
Run Code Online (Sandbox Code Playgroud)