从表 2 中选择一个值,该值依赖于表 1 中的另一个值 (Oracle SQL)
Posted
技术标签:
【中文标题】从表 2 中选择一个值,该值依赖于表 1 中的另一个值 (Oracle SQL)【英文标题】:Select a value from Table 2 that depends on another value from Table 1 (Oracle SQL) 【发布时间】:2020-05-14 18:12:28 【问题描述】:我正在尝试在锁定期间做一些数据库,希望能得到一些帮助,因为我已经做了 5 个小时没有运气。从一本书中得到了一个 PDF,遗憾的是,解决方案部分不可读。
这里有两张表:
**Table 1 named Laptop**
Laptop ID(PK) Name
1 Lenovo
2 Asus
3 Mac
**Table 2 named Buyers**
Buyer ID(PK) Buyer Name Laptop ID(FK) Country
A Jet Li 1 China
B Hermione 1 UK
C Mercato 2 Spain
我创建的活动请求 “选择所有包名及其买家名称的 SQL 语句(因此只有 2 列),并显示空值”,因为 Mac 没有买家。
我一直在尝试 JOIN 和 UNION,但没有锁。
SELECT Name from Laptop
UNION
SELECT Buyer name from Buyers;
非常感谢
【问题讨论】:
【参考方案1】:你需要一个OUTER JOIN
:
SELECT
l.name,
b.buyer_name
FROM
laptop l
LEFT OUTER JOIN buyers b
ON l.laptop_id = b.bag_id;
演示:
with laptop as(
select 1 laptop_id, 'Lenevo' name from dual union all
select 2 laptop_id, 'Asus' name from dual union all
select 3 laptop_id, 'Mac' name from dual
),
buyers as(
select 'Jet Li' buyer_name, 1 bag_id from dual union all
select 'Hermione' buyer_name, 1 bag_id from dual union all
select 'Mercato' buyer_name, 2 bag_id from dual
)
SELECT
l.name,
b.buyer_name
FROM
laptop l
LEFT OUTER JOIN buyers b
ON l.laptop_id = b.bag_id;
NAME BUYER_NAME
---------- --------------------
Lenevo Jet Li
Lenevo Hermione
Asus Mercato
Mac NULL
【讨论】:
以上是关于从表 2 中选择一个值,该值依赖于表 1 中的另一个值 (Oracle SQL)的主要内容,如果未能解决你的问题,请参考以下文章
如何将listView的selectedItem值传递到wpf MVVM中的另一页
如何使用 AlamoFireObjectMapper 动态映射 JSON 中的值,该值取决于同一 JSON 中的另一个值?