我正在尝试学习一些SQL,我想要做的只是根据某些标准从表中选择一些行。
所以,我正在尝试这样的事情:
Select * from mytable where id=1090 as A, Select * from mytable where id=1075 as B;
我需要将它们保留为我的示例中的不同实体(A和B),以便我可以执行以下操作:
Select A.col, B.row from A, B where <some criteria>
我无法弄清楚如何将所有这些放在SQL查询中
答案 0 :(得分:1)
select A.*, B.*
from
(Select * from mytable where id=1090) as A
join
(Select * from mytable where id=1075) as B ON <some criteria>
答案 1 :(得分:1)
如果我理解正确的话,你可以通过这种魔法达到你想要的效果。这将并排返回行,不知道如何解释:
;with a as(select *, row_number() over(order by(select null)) rn
from tableA where id = 1090),
b as(select *, row_number() over(order by(select null)) rn
from tableB where id = 1075)
select a.*, b.*
from a
full join b on a.rn = b.rn
如果第一个选择返回4行和第2行,则输出将类似于:
A(rn, cols) B(rn, cols)
1 ......... 1 .........
2 ......... 2 .........
3 ......... NULL
4 ......... NULL