【急,在线等】 问大家一个简单的SQL 查询语句,内详
假设有两个表TABLE1,TABLE2
TABLE1是这样的情况
学号 性名 列3
1 a 【select count(*) from TABLE2 where 学号=1 AND time =getdate()】
2 b 【select count(*) from TABLE2 where 学号=2 AND time =getdate()】
3 c 【select count(*) from TABLE2 where 学号=3 AND time =getdate()】
而其中的这个列3,是根据学号,在表2中查出来的东西,这样的情况,用一句SQL语句能查出来么?
------解决方案--------------------time =getdate()--去掉这个条件
或改为
</> 不能用=
------解决方案--------------------不知道楼主要干什么.如果查当日.
select count(*) from TABLE2 where 学号=1 AND convert(varchar(10),time,120) = convert(varchar(10),getdate(),120)
------解决方案--------------------\
select 学号,
sum(case 学号 when '1 ' then 1 else 0) as 学号1,
sum(case 学号 when '2 ' then 1 else 0) as 学号1,
sum(case 学号 when '3 ' then 1 else 0) as 学号1
from TABLE2 where time =getdate()
group by 学号
------解决方案--------------------select 学号,性名,count(table2.学号) as 列3
from TABLE1
LEFT JOIN TABLE2 ON TABLE1.学号=TABLE2.学号
group by 学号,性名
------解决方案-------------------- --通常的比較都是精確到天的
--如果是的話,你的語句這麼寫
Select
学号,
性名,
列3 = (Select Count(*) From TABLE2 where 学号= A.学号 AND DateDiff(dd,[time], getdate()) = 0)
From
TABLE1