我正在学习SQL,我的主管向我发送了这些脚本并告诉我运行它们。谁能逐行解释此查询的功能?
select
a.charg as "Batch Number", a.matnr as "SAP Material #",
a.bwart as "SAP Movement Code", a.werks as "Manufacturing Site Code",
a.budat as "Date of Manufacturing", a.aufnr as "SAP Order Number",
a.menge as "Quantity", a.meins as "Units"
from
mfg_nv1.v_chvw a
inner join
mfg_nv1.v_eu_job_header b on b.sap_batch = a.charg
where
b.product in ('C_2188_R', 'C_2188_0_4ML_R', 'C_2188_0_7ML_R')
and a.werks = '1513'
and a.Bwart = '101'
and b.sap_batch > 'ABA111'`
没有错误消息,只是不返回任何内容,但是如果我能用简单的英语理解它会尝试对其进行编辑。
答案 0 :(得分:0)
您正在根据以下内容将两个表mfg_nv1.v_chvw和mfg_nv1.v_eu_job_header组合在一起 它们之间的公共列(b.sap_batch = a.charg)。
在所选数据中,您是 要求数据库仅选择产品(“ C_2188_R”,“ C_2188_0_4ML_R”, 'C_2188_0_7ML_R'),奇怪的是1513 ...
如果通过所有条件的任何数据均可用,则将 在运行查询后显示给您,否则将不返回任何内容。
尝试运行查询直到(选择... a.charg),删除where条件并查看 改变。
这是一个有用的链接:
https://oracle-base.com/articles/misc/sql-for-beginners-joins