怎么写这个SQL语句??????

leskey 2004-01-02 09:32:21
Name Property Date
A 1 2003-11-01
A 2 2003-11-11
A 1 2003-11-21
B 1 2003-11-01
B 2 2003-11-11
C 1 2003-11-01


我要找出property为2的name。因为一个name的property是可以改变的,所以最终这个name的propter是什么,要看它最后改变的时候是什么,也就是date最新的时候property是什么。
所以结果应该是:
B 2 2003-11-11
...全文
19 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
leskey 2004-01-02
  • 打赏
  • 举报
回复
这样是不对的。每个name最终显示的只有一个记录的
twht 2004-01-02
  • 打赏
  • 举报
回复
SELECT name,property,MAX(Date)
from temp
where property='2'
group by name,property
leskey 2004-01-02
  • 打赏
  • 举报
回复
help
leskey 2004-01-02
  • 打赏
  • 举报
回复
name是有无数个的,但是每个name的property只有1和2两种。所以现在要找出所有property为2的name。如果某个name的property改变过了,以它最新的为准。
leskey 2004-01-02
  • 打赏
  • 举报
回复
怎么可能将name='A'放在条件里呢
longleaver 2004-01-02
  • 打赏
  • 举报
回复
select top 1 * from table1 where name='A' order by Date desc
kimurakenshin 2004-01-02
  • 打赏
  • 举报
回复
你是name能变?还是property能改变?说清楚行不行?看不明白呢?
leskey 2004-01-02
  • 打赏
  • 举报
回复
不是,你想每一个name都有自己的property,所以要找出的是property为2的name
wzh1215 2004-01-02
  • 打赏
  • 举报
回复
--楼主是不是搞错了,结果应该是:
--A 2 2003-11-11 吧
--
select a.* from 表 a where a.Property='2' and name=(
select top 1 name from 表 where name in
(select name from 表 where Property='2')
order by [date] desc
)
txlicenhe 2004-01-02
  • 打赏
  • 举报
回复
当然,语句可以如下:
select [name],[property],[date]
from 表 a
where [date] in (select [date] from 表 where [property] = a.[property])

txlicenhe 2004-01-02
  • 打赏
  • 举报
回复
看不出来。下面这两条怎么区分先后顺序啊?
A 2 2003-11-11
B 2 2003-11-11

jingxijun 2004-01-02
  • 打赏
  • 举报
回复
select top 1 from table1 where Property='2' order by Date desc
gjs_w 2004-01-02
  • 打赏
  • 举报
回复
多设一个自增量ID吧
select top 1 * from table_name where Property='2' order by ID desc
leskey 2004-01-02
  • 打赏
  • 举报
回复
up
leskey 2004-01-02
  • 打赏
  • 举报
回复
need your help

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧