sql 如何把一个查询结果当作一个表来查询?

本人小白
我用这样的sql语句
SELECT SUM(NUM_QNTY4) AS sumNum, NUM_LINKID
FROM RW_STORE_QUNTY
GROUP BY NUM_LINKID
得到了一个结果集,当然这个集有2个列和若干行
我想把它当作一个临时表A,和另外一个真实表B利用join on 做联合查询,
如何虚拟出临时表A呢?

****请用sql语句举例并做解释,无语言描述和无sql还有复制答案不给分****

回答专业并且能够举一反三让我获得更多知识者有追加分奖励,如果我说的要求无法实现,请自行回答可能实现的方案

sql中把一个查询结果当作另一个表来查询可以理解查询结果为一个临时表
使用select语句查询结果集即可。
参考代码:
1:将结果作为一个临时表,可以使用链接或者直接查询
select * from
(
SELECT SUM(NUM_QNTY4) AS sumNum, NUM_LINKID
FROM RW_STORE_QUNTY
GROUP BY NUM_LINKID
) as A
-------------------------------
2:将结果作为子查询的方式
select * from 表
where 字段 in select NUM_LINKID (
SELECT SUM(NUM_QNTY4) AS sumNum, NUM_LINKID
FROM RW_STORE_QUNTY
GROUP BY NUM_LINKID
)
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2019-11-09

SELECT A.COLUMN

FROM B

JOIN

(

SELECT SUM(NUM_QNTY4) AS sumNum, NUM_LINKID

FROM RW_STORE_QUNTY

GROUP BY NUM_LINKID

)  A

ON A.COLUMN = B.COLUMN

拓展资料

SQL JOIN 子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段。

最常见的 JOIN 类型:SQL INNER JOIN(简单的 JOIN)、SQL LEFT JOIN、SQL  RIGHT JOIN、SQL FULL JOIN,其中前一种是内连接,后三种是外链接。

本回答被网友采纳
第2个回答  推荐于2017-10-09
select * from (SELECT SUM(NUM_QNTY4) AS sumNum, NUM_LINKID
FROM RW_STORE_QUNTY
GROUP BY NUM_LINKID ) a
left join b on a.NUM_LINKID =b.NUM_LINKID
where a.NUM_LINKID = 1002

上面只是一个例句,你照着写就可以了,如果这种写不习惯,可以用临时表
比如(这是sqlserver特有的写法)
SELECT SUM(NUM_QNTY4) AS sumNum, NUM_LINKID
into #xu
FROM RW_STORE_QUNTY
GROUP BY NUM_LINKID

select * from #xu a inner join ddd b on ……
where ……

这也是一种写法本回答被提问者采纳
第3个回答  2018-05-20
首先插入表中要有一个时间的字段,找到该数据库的时间函数,如oracle的sysdate就是C#中的DateTime.Now,将该字段插入到插入表的这个字段中 就ok了。

查询后有一个结果集,遍历结果集取出你要查的对象.
你用ID查出你存的字符串(这里你存的是其他表名),返回的结果集是一条记录.
while(rs.next()){ //rs.next()方法是个游标指针
String show=rs.getString("tablename");//方法的参数是你数据库列名,因为你要返回该列名的数据。
第4个回答  2021-02-02

相似回答