Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何选择主表数据和选择引用表一个数据sql查询_Sql_Stored Procedures_Inner Join - Fatal编程技术网

如何选择主表数据和选择引用表一个数据sql查询

如何选择主表数据和选择引用表一个数据sql查询,sql,stored-procedures,inner-join,Sql,Stored Procedures,Inner Join,我需要一个sql查询,它应该返回主表条目及其子表条目(仅返回最新的一个条目)。我使用了内部连接。但我觉得它不好用。 有人能给我一个适当的问题吗 提前感谢在SQLServer2005+中使用带有操作员的选项 或具有排序功能的选项 ;WITH cte AS ( SELECT *, ROW_NUMBER() OVER(PARTITION BY t1.Id ORDER BY t2.CreatedDate DESC) AS

我需要一个sql查询,它应该返回主表条目及其子表条目(仅返回最新的一个条目)。我使用了内部连接。但我觉得它不好用。 有人能给我一个适当的问题吗


提前感谢

在SQLServer2005+中使用带有操作员的选项

或具有排序功能的选项

;WITH cte AS
 (                            
  SELECT *, 
         ROW_NUMBER() OVER(PARTITION BY t1.Id ORDER BY t2.CreatedDate DESC) AS rn
  FROM master t1 JOIN child t2 ON t1.Id = t2.Id
  )
  SELECT *
  FROM cte
  WHERE rn = 1
试试这个

SELECT ID, DATE
(
SELECT M.ID, C.DATE, ROW_NUMBER() OVER(PARTITION BY M.ID ORDER BY C.DATE DESC) RN
FROM MASTER M
JOIN CHILD C
ON C.ID = M.ID
) A
WHERE RN = 1

请参考给定的链接,它可能对您在子表中的哪个列排序有用?我需要选择主表中的所有条目,并需要选择其子条目(根据createdDate,顶部条目)@Jidheesh Rajan您需要阅读这些帖子:接受答案如何工作?
SELECT ID, DATE
(
SELECT M.ID, C.DATE, ROW_NUMBER() OVER(PARTITION BY M.ID ORDER BY C.DATE DESC) RN
FROM MASTER M
JOIN CHILD C
ON C.ID = M.ID
) A
WHERE RN = 1