我想在两个column_A
和column_B
以下两个选择查询结果A和B.我试图遵循逻辑,但它不能在SQL Server 2008 R2中工作SQL Server SELECT嵌套
select Column_A, Column_B
From (
SQL query for A
,
SQL query for B
)
有人可以请验证我的逻辑是错误的还是正确的?
我想在两个column_A
和column_B
以下两个选择查询结果A和B.我试图遵循逻辑,但它不能在SQL Server 2008 R2中工作SQL Server SELECT嵌套
select Column_A, Column_B
From (
SQL query for A
,
SQL query for B
)
有人可以请验证我的逻辑是错误的还是正确的?
可以通过嵌套选择这样
SELECT A.Column, B.Column
FROM
(SELECT Column FROM table1 ...) A
INNER JOIN
(SELECT Column FROM table2 ...) B
ON A.id = B.id
此查询结合了另一个的行一个数据源(表或查询子)的行。如果您从多个数据源进行查询,您通常必须以某种方式加入它们。如果你不这样做,你会得到一个笛卡尔产品,它将每一行的每一行与另一行的每行相结合。
如果你只是想要一个标量结果做到这一点:
SELECT
(<sub-query for value A>) Column_A,
(<sub-query for value B>) Column_B
;
对于标量结果集,你需要确保,他们总是只返回一个值,否则查询将在运行时失败。
如果你真的想使用子查询你需要他们的名字:
SELECT Column_A, Column_B
FROM (<sub-query A>) AS A,
(<sub-query B>) AS B
...你会想无论是JOIN
条件或WHERE
条款正确连接表在一起。
史诗般的胜利....你让我的一天!十分感谢。你第一次逻辑工作! – Satish 2012-02-06 18:14:21
欢迎使用StackOverflow:如果您发布代码,XML或数据样本,请**在文本编辑器中突出显示这些行,然后单击编辑器工具栏上的“代码示例”按钮(“{}”)格式和语法突出显示它! – 2012-02-06 17:23:54
查询A和查询B返回单个值还是一组值? – Akhil 2012-02-06 17:24:15
有不同的方法来组合查询。请说明你想要达到的目标。你可以给出这些表包含的例子以及你期望的结果。 – 2012-02-06 17:35:25