【发布时间】:2012-04-21 14:41:31
【问题描述】:
我想合并两个查询。
我有 Query1 返回一些 Id。
然后我有 Query2,它首先检查表中是否存在某些 Id。如果不是,则结果将是 Query1 返回的 Id。
如果是,那么我想要 Query1 和 Query2 返回的常见 Id,例如 Query1 和 Query2 返回的 Id 的交集。
那么我怎样才能在单个查询中做到这一点。
【问题讨论】:
-
你可能想看看这个:stackoverflow.com/questions/38549/… 看看基本上被称为 LEFT OUTER JOIN 和 INNER JOIN 分别满足您的要求
-
目前我在数据表中得到 Query1 的结果,在其他数据表中得到 Query2 的结果。然后遍历这些数据表,获取常见的 Id 并将其插入第三个数据表中。我想尽量减少这种情况。
-
是的,相反,您可以进行一个查询,这也几乎是标准的。使用 JOIN .. 您对此不彻底吗?
-
@nawfal - 对连接概念很清楚,但在这种情况下没用。
-
@user1049021 您已经成为会员一年多了,已经提出了 10 个问题,但没有接受一个。我不敢相信所有这些都不值得和接受的钩子。 (如果您不明白我的意思,请参阅常见问题解答。)
标签: sql sql-server oracle select intersect