SQL - 如何查询两个表并将结果作为一个表返回?

时间:2018-02-03 00:29:36

标签: sql sql-server sql-server-2012 coldfusion

长话短说,我有这个网站"家长"级别注释存储在一个单独的表中,而不是它们的回复,称为" Child"评价。

要生成所有最近评论的列表,我一直在做这样的事情:

SELECT
TOP 10 
 PC.ParentCommentText,
 PC.ParentCommentID,
 PC.ParentCommentTimeStamp
FROM
  ParentComments AS PC

我们称之为Query1。

Query2是相同的:

SELECT
TOP 10 
 CC.ChildCommentText,
 CC.ChildCommentID,
 CC.ChildCommentTimeStamp
FROM
  ChildComments AS CC

然后我使用Union并查询查询,这样我就可以一次遍历所有结果并显示最近的混合列表。

SELECT * FROM Query1
UNION 
SELECT * FROM Query2
ORDER BY ParentCommentTimeStamp DESC

我的问题从前两个查询开始 - 我只能从任一表中返回一定数量才能启动。因此,如果一些线程逃跑并成为一个大讨论,那么" Child"评论已填写,您可能仍会看到" Parent"尽管它们不在近期的任何地方,但仍有数小时或数天的评论。

我已经做了一段时间,因为我做过任何需要深入了解SQL的事情。我知道有一种方法可以选择父母和儿童的评论作为一种方法,只需抓住结果的__数,尽管他们来自哪个表格。

帮助?

1 个答案:

答案 0 :(得分:4)

使用df = iris df[1,1]<-Inf df[2,1]<-NA DT::datatable(df) library(DT) DT::datatable(df[,], options = list(columnDefs = list(list( targets = 1, render = JS( "function(data, type, row, meta) {", "return data === null ? 'Inf' : data;", "}") )))) 将查询结果与union all结合起来,以获得前n行。

order by