- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在工作中使用的是 SQL Server,我对 OUTER APPLY 子句有一些很好的技巧,可以帮助我避免重复代码。例如,如果我有一个这样的表:
create table Transactions
(
ID bigint identity(1, 1) primary key, [Date] datetime, Amount decimal(29, 2), Amount2 decimal(29, 2)
)
insert into Transactions ([Date], Amount, Amount2)
select getdate(), 100.00, null union all
select getdate(), 25.00, 75.00
我想从中选择数据,例如我将为每个非空金额创建行,我可以这样查询:
select
T.ID,
T.[Date],
OA.Amount
from Transactions as T
outer apply (
select T.Amount as Amount union all
select T.Amount2 as Amount
) as OA
where OA.Amount is not null
而不是使用union
:
select
T.ID,
T.[Date],
T.Amount
from Transactions as T
where T.Amount is not null
union all
select
T.ID,
T.[Date],
T.Amount2 as Amount
from Transactions as T
where T.Amount2 is not null
所以我想知道 - 其他 RDBMS 是否有这种可能性?
最佳答案
在 Oracle 中,横向连接是笛卡尔连接,其结果集取决于行的值。尚未引入新关键字 ( SQLFiddle ):
SQL> CREATE OR REPLACE TYPE number_nt AS TABLE OF NUMBER;
2 /
Type created
SQL> SELECT t.id, t.dt, u.column_value amount
2 FROM Transactions t
3 CROSS JOIN TABLE(number_nt(t.amount, t.amount2)) u;
ID DT AMOUNT
---------- ----------- ------------
1 05/06/2013 100
1 05/06/2013
2 05/06/2013 25
2 05/06/2013 75
Oracle 似乎使用了 LATERAL
关键字 internally虽然。
关于mysql - 其他 RDBMS(非 SQL Server)中 OUTER APPLY 的模拟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16935160/
RDBMS 中有哪些不同类型的键?请在答案中包含示例。 最佳答案 来自 here和 here :(在我用谷歌搜索你的标题后) Alternate key - An alternate key is a
请解释什么是 RDBMS 中的集群? 最佳答案 在 SQL 中,簇也可以指行的特定物理顺序。 例如,考虑一个包含两个表的数据库:INVOICES 和 INVOICE_ITEMS。如果同时插入许多 IN
请解释什么是 RDBMS 中的集群? 最佳答案 在 SQL 中,簇也可以指行的特定物理顺序。 例如,考虑一个包含两个表的数据库:INVOICES 和 INVOICE_ITEMS。如果同时插入许多 IN
这个问题在这里已经有了答案: What is the difference between DBMS and RDBMS? (9 个回答) 关闭 10 个月前。 这就是他们的区别吗,这就是我的理解。
如果我正确理解了 CAP 定理,可用性意味着即使节点出现故障,集群也会继续运行。 我见过很多人(http://blog.nahurst.com/tag/guide)将RDBMS列为CA,但我不明白RB
关闭。这个问题需要更多 focused .它目前不接受答案。 想改进这个问题?更新问题,使其仅关注一个问题 editing this post . 6年前关闭。 Improve this questi
在我作为首席开发人员的项目中,我们之前有一个存储单个 XML 文件的网络配置。配置包含有关网络布局的信息 - 其组成主机、每个主机的各种详细信息(如操作系统、平台、每个主机中配置的用户、每个用户的多个
我想编写一些可以在几乎所有数据库中运行而没有任何 SQLExceptions 的查询。那么,我在哪里可以获得编写查询的 ANSI 标准? 最佳答案 不确定这对您有帮助。 供应商在标准实现方面千差万别,
作为一名程序员,我在各种系统上工作过,一些使用 Oracle,一些使用 MySQL。我一直听到人们说 Oracle 更稳定、更健壮、更安全。是这样吗? 如果是,以什么方式和为什么? 为了这个问题的目的
重要提示:我收到了很多答案,感谢大家。但是所有的答案都是评论多于答案。我的问题与每个 RDBMS 的往返次数有关。一位有经验的人告诉我,MySQL 的往返次数比 Firebird 少。我希望答案保持在
我正在开发一个开源产品,需要一个嵌入式 dbms。 你能推荐一个嵌入式开源数据库吗... 每个可以处理超过 10 GB 的对象 拥有对嵌入友好的许可证(LGPL,而非 GPL)。 是纯Java 是(最
为什么使用同义词?,syNONYMS IN SQL 的优点? 最佳答案 它们只是数据库中对象的简写名称。例如,您可以创建一个名为 Products 的同义词。如果您在名为 ProductionCont
我经常创建的查询具有7-8个联接来检索数据。在实际的数据库应用程序中,是否有许多这样的联接正常?或者我的数据库设计不佳?我很好奇,因为如果在每个请求数据库上必须做很多工作,那么如果成千上万的客户端连接
Aheo问是不是ok to have a table with just one column .如果没有列,或者考虑到在大多数现代“关系”DBMS 中这似乎很难做到,那么没有属性的关系如何? 最佳答
模式的定义是数据库中数据的逻辑结构。它归用户所有,并且与数据库用户同名。模式包含表的名称,列类型是什么等等。数据字典也仅包含元数据(当然,它是在数据库级别而不是用户级别)。模式和数据字典之间的确切区别
在以下方面设置游泳池的最佳方法是什么: - 你什么时候创建连接? 你什么时候关闭连接,你会关闭所有连接吗? 你测试连接还是不错的。何时以及如何? 您如何确定最大连接数的好数字? 你有什么样的监控来确保
我目前正在尝试选择数据库供应商。 我只是想从其他数据库开发人员那里征求一些个人意见。 我的问题特别针对以下人群: 1) 之前使用过支持复制到磁盘(混合)的主内存数据库(MMDB)(即 ExtremeD
空值表示 没有值(value) 不适用、未分配、未知或不可用 哪个是真的? 最佳答案 这完全取决于使用它的上下文。 null 表示没有值,但其原因取决于使用它的域。在许多情况下,您列出的项目都是 nu
假设我有这个 RDBM 表(Entity-attribute-value_model): col1: entityID col2: attributeName col3: value 由于扩展问题,我
我想知道是否在其中一个属性上创建了具有聚集索引的表或特别是堆文件是根据该属性排序的。排序的堆文件和具有聚集索引的堆文件之间有区别吗? 最佳答案 Is there a difference betwee
我是一名优秀的程序员,十分优秀!