Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.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
C# 基于日期时间列SQL获取最新记录_C#_Sql Server_Datetime - Fatal编程技术网

C# 基于日期时间列SQL获取最新记录

C# 基于日期时间列SQL获取最新记录,c#,sql-server,datetime,C#,Sql Server,Datetime,我正在尝试选择最近的记录。现在它正在返回所有记录。这使得,因为我没有加入一个过滤器来获取最新的,我不知道如何做到这一点。这是我的密码: select c.my_Name, a.my_Num, d.myBrand, a.order_bill, a.myDate from [table1] a left join [table2] b on a.[myCode] = b.[myCode] left join [table3] c on c.myTag = b.

我正在尝试选择最近的记录。现在它正在返回所有记录。这使得,因为我没有加入一个过滤器来获取最新的,我不知道如何做到这一点。这是我的密码:

select 
    c.my_Name, a.my_Num, d.myBrand, a.order_bill, a.myDate 
from
    [table1] a
left join 
    [table2] b on a.[myCode] = b.[myCode]
left join 
    [table3] c on c.myTag = b.myTag
left join 
    [table4] d on a.[myHash] = d.[myHash] 
where  
    c.[myName] = 'test name'   

我想从表中获取最新的记录,我猜最有效的方法是获取最新的
a.myDate

类似的内容可能会有所帮助

select c.my_Name, a.my_Num, d.myBrand, a.order_bill, MAX(a.myDate) 
from [table1] a
left join [table2]  b on a.[myCode] = b.[myCode]
left join [table3] c on c.myTag=b.myTag
left join [table4] d on a.[myHash] = d.[myHash] 
where  c.[myName] = 'test name'
group by c.my_Name, a.my_Num, d.myBrand, a.order_bill
order by a.myDate DESC
这将获取具有最大(最近)a.myDate的不同记录,并按其他元素分组


注意重复。在select语句中使用重复的条件键,或任何您绝对需要区分的元素。

类似的内容可能会有所帮助

select c.my_Name, a.my_Num, d.myBrand, a.order_bill, MAX(a.myDate) 
from [table1] a
left join [table2]  b on a.[myCode] = b.[myCode]
left join [table3] c on c.myTag=b.myTag
left join [table4] d on a.[myHash] = d.[myHash] 
where  c.[myName] = 'test name'
group by c.my_Name, a.my_Num, d.myBrand, a.order_bill
order by a.myDate DESC
这将获取具有最大(最近)a.myDate的不同记录,并按其他元素分组

注意重复。在select语句中使用重复的条件键,或者任何您绝对需要区分的元素。

我会这样写

SELECT TOP 1 
c.my_Name, a.my_Num, d.myBrand, a.order_bill, CONVERT(char(10), a.myDate,126) 
FROM [table1] a
LEFT JOIN [table2] b on a.[myCode] = b.[myCode]
LEFT JOIN [table3] c on c.myTag=b.myTag
LEFT JOIN [table4] d on a.[myHash] = d.[myHash] 
WHERE  c.[myName] = 'test name'  
ORDER BY a.myDate DESC
我会写信的

SELECT TOP 1 
c.my_Name, a.my_Num, d.myBrand, a.order_bill, CONVERT(char(10), a.myDate,126) 
FROM [table1] a
LEFT JOIN [table2] b on a.[myCode] = b.[myCode]
LEFT JOIN [table3] c on c.myTag=b.myTag
LEFT JOIN [table4] d on a.[myHash] = d.[myHash] 
WHERE  c.[myName] = 'test name'  
ORDER BY a.myDate DESC

1.使用a.myDate DESC下的订单,2。将日期格式保留在客户端。订单将放在哪里?在select?@codeFinatic结束时,您应该随时准备好一些东西供您使用。这就是谷歌等东西的用途。另外,请澄清您是否想要
最近的一份或多份记录
,我认为这也会过滤掉您可能得到的模糊答案的数量,例如选择
top
执行搜索条件并使用带有Order By的Where子句也要注意,当您将Where子句应用于外部联接表中的列时,该外部联接实际上变成了内部联接。您真的不应该一次问两个问题。因为你的第一个问题已经得到了回答,所以把第二部分去掉,让它成为一个单独的问题(或者只搜索一下,这个问题以前肯定已经回答过了)。使用a.myDate DESC下的订单,2。将日期格式保留在客户端。订单将放在哪里?在select?@codeFinatic结束时,您应该随时准备好一些东西供您使用。这就是谷歌等东西的用途。另外,请澄清您是否想要
最近的一份或多份记录
,我认为这也会过滤掉您可能得到的模糊答案的数量,例如选择
top
执行搜索条件并使用带有Order By的Where子句也要注意,当您将Where子句应用于外部联接表中的列时,该外部联接实际上变成了内部联接。您真的不应该一次问两个问题。由于您的第一个问题已经得到回答,请删除第二部分并将其设为一个问题(或者只搜索一下,这肯定是以前回答过的问题)。这是99%的正确答案,但它没有解决最后一句中的日期格式问题。你能编辑这个来解决这个问题吗?去它的,我自己修好的。:)+n00b为1。欢迎登机!这是99%的正确答案,但它没有解决最后一句中的日期格式问题。你能编辑这个来解决这个问题吗?去它的,我自己修好的。:)+n00b为1。欢迎登机!