【发布时间】:2018-07-21 23:51:41
【问题描述】:
也许有人可以协助设计查询以满足这些要求。我将需要它作为内联视图的一部分,该视图将加入到更大的查询中。
我有基本的电子邮件地址表:
EMAIL
jon@a.com
art@b.com
然后我有一个名为 UPLOAD_HISTORY 的表。样本数据:
EMAIL FILETYPE FILENAME
jon@a.com 1 file1.txt
jon@a.com 2 filex.txt
jon@a.com 4 fileb.txt
然后是文件类型表:
FILE ID FILE TYPE
1 TYPE A
2 TYPE B
3 TYPE C
4 TYPE D
如果我执行查询,并外部加入 UPLOAD_HISTORY 和 FILE_TYPES,我会得到这样的结果:
EMAIL FILETYPE FILENAME
jon@a.com 1 file1.txt
jon@a.com 2 filex.txt
3
jon@a.com 4 fileb.txt
我需要的缺失记录是从 UPLOAD_HISTORY 表中填写缺失值。我理想的结果集如下所示:
EMAIL FILETYPE FILENAME STATUS
jon@a.com 1 file1.txt 1
jon@a.com 2 filex.txt 1
jon@a.com 3 0
jon@a.com 4 fileb.txt 1
我希望获取所有文件类型,每行都有一封电子邮件,如果有该文件类型的记录,则状态为 1,如果没有,则状态为 0........
有时可能会通过标准。我可能会要求提供特定的文件类型,也可能不要求。
如果特定电子邮件在 UPLOAD_HISTORY 表中没有任何条目,是否有可能获得空记录?
EMAIL FILETYPE FILENAME STATUS
jon@a.com 1 file1.txt 1
jon@a.com 2 filex.txt 1
jon@a.com 3 0
jon@a.com 4 fileb.txt 1
art@b.com 1 0
art@b.com 2 0
art@b.com 3 0
art@b.com 4 0
但是,我可以只要求文件类型 1:
EMAIL FILETYPE FILENAME STATUS
jon@a.com 1 file1.txt 1
art@b.com 1 0
谢谢
【问题讨论】:
-
一次问一个问题。请确认您真正想查看哪个输出并将这个问题限制在那个输出。
-
请不要在发布代码时使用 HTML 标签。代码的降价更简单,与 StackOverflow 渲染器配合得很好,更容易修复。要格式化代码块,请使用编辑器菜单上的
{}按钮或简单地将每行缩进四个空格。对于内联使用反引号`
标签: oracle inline-view