可以,只要能保证select Users.UserName from Users where Users.Online=0返回的是一条记录 还可以这样 delete Talk where Talk.Uname1 in (select Users.UserName from Users where Users.Online=0)
如果查询有多条记录请用: delete Talk where Talk.Uname1 in (select Users.UserName from Users where Users.Online=0) 或者 如果查询只有1条记录请用: delete Talk where Talk.Uname1 = (select top 1 Users.UserName from Users where Users.Online=0)
delete from Talk where Talk.Uname1 in (select Users.UserName from Users where Users.Online=0)
select top 1 UserName from Users where Online=0 是查出 UserName 所有记录的第一条记录 select top 2 UserName from Users where Online=0 是查出 UserName 所有记录的前面两条记录 但我想要的是 只要查出来的第2条记录,而不是 前面两条记录
你那个不对可能是因为后面查询出来的不是一个字段应改是查询出来了多个 所以应该这样写delete from talk where uname1 in (select username from users where users.online=0)
SQL code delete from Talk where Talk.Uname1 in (select Users.UserName from Users where Users.Online=0)
还可以这样
delete Talk where Talk.Uname1 in (select Users.UserName from Users where Users.Online=0)
delete Talk where Talk.Uname1 in (select Users.UserName from Users where Users.Online=0) 或者
如果查询只有1条记录请用:
delete Talk where Talk.Uname1 = (select top 1 Users.UserName from Users where Users.Online=0)
delete from Talk where Talk.Uname1 in (select Users.UserName from Users where Users.Online=0)
是查出 UserName 所有记录的第一条记录
select top 2 UserName from Users where Online=0
是查出 UserName 所有记录的前面两条记录
但我想要的是 只要查出来的第2条记录,而不是 前面两条记录
所以应该这样写delete from talk where uname1 in (select username from users where users.online=0)
delete from Talk where Talk.Uname1 in (select Users.UserName from Users where Users.Online=0)