使用ansi sql构建复杂的where查询

使用ansi sql构建复杂的where查询,sql,Sql,我在寻找关于这个案例的适当查询时遇到了问题 餐桌预订 Cod varchar(最大值) CustomerId varchar(最大值) 日期时间 状态int 桌上顾客 CustomerId varchar(最大值) VIP布尔值 问题是,如果客户有超过10个状态为1的预订行,我找不到将VIP设置为true的方法。所有这些都使用ansi sql 你能帮我一下吗 是的,试试这个: Update CUSTOMER Set VIP = 1 Where (Select Count(*) Fro

我在寻找关于这个案例的适当查询时遇到了问题

餐桌预订

  • Cod varchar(最大值)
  • CustomerId varchar(最大值)
  • 日期时间
  • 状态int
桌上顾客

  • CustomerId varchar(最大值)
  • VIP布尔值
问题是,如果客户有超过10个状态为1的预订行,我找不到将VIP设置为true的方法。所有这些都使用ansi sql

你能帮我一下吗

是的,试试这个:

 Update CUSTOMER Set VIP = 1
 Where (Select Count(*) From RESERVATION
        Where CustomerId = CUSTOMER.CustomerId 
           And Status = 1) > 10

 Update c Set VIP = 1
 From Customer c
 Where (Select Count(*) From RESERVATION
        Where CustomerId = c.CustomerId 
           And Status = 1) > 10