【发布时间】:2020-10-04 14:36:12
【问题描述】:
我有一个我在工作中使用的视图。
我的目标是:
-
如果 "data on row" = 'petrol' 那么列应该从 "A table inner join B table" 中获取
-
如果 "data on row" = 'diesel' 然后从 "C table inner join D table" 获取
这可能在视图查询的同一列中吗? (plsql)
我不能为此使用 if else 构造吗?问题仍未解决,因为我要使用的表没有公共列
如果 a =1 则从 sample_table 中选择 SAMPLE
如果一个 1 然后从另一个不同的唯一表中选择另一个不同
【问题讨论】:
-
请提供样本数据和期望的结果。
-
您可以在这种情况下使用
union all..但除非提供示例数据和预期结果很难同时提供。 -
我在下面提供了样本
-
请use text, not images/links, for text--including tables & ERDs。转述或引用其他文本。只提供您需要的东西并将其与您的问题联系起来。仅将图像用于无法表达为文本或增强文本的内容。在图像中包含图例/键和说明。此外,链接死了。使用编辑功能插入图像/链接。使您的帖子自成一体。将所需内容放入您的帖子中,而不仅仅是在链接中。
-
在 SQL 中,我们连接以从 2 个表中获取所有行对。 ON 或 WHERE 保留我们想要的配对。 ]SELECT 为这些行中的每一行输出一行。所以:你想保留哪些行对以及你想返回每对行的什么功能?我们可以合并 2 个表的所有行。 PS 在条件下返回 2 个不同的连接是一个常见问题。请在考虑发布之前阅读您的教科书和/或手册和谷歌任何错误消息或您的问题/问题/目标的许多清晰、简洁和精确的措辞,有和没有您的特定字符串/名称和站点:stackoverflow.com 和标签;阅读许多答案。
标签: sql oracle if-statement join