簡體   English   中英

sql查詢中的having子句返回無效

[英]having clause in sql query returns invalid

我正在嘗試檢索符合以下條件的所有ID:

  1. 住在特定的街道上
  2. 有兩個電話號碼
  3. 已下訂單
  4. 是女性

select id from Customer 
join Address on Address.customer_id = Customer.id
join Orders on Orders.customer_id = Customer.id
join Gender on Gender.customer_id = Customer.id
join Telephone on Telephone.customer_id = Customer.id
where Address.street_name ='MainStreet' 
and Orders.customer_id is not null
and Gender.gender ='Female'
group by Telephone.customer_id
having count(Telephone.customer_id) = 2

運行此命令時,我收到“列或表達式無效”的提示當我刪除並刪除該組時,它可以正常工作。

有人可以幫我嗎?

試試這個

select id from Customer 
join Address on Address.customer_id = Customer.id
join Orders on Orders.customer_id = Customer.id
join Gender on Gender.customer_id = Customer.id
join (
select customer_id from Telephone
group by customer_id
having count(customer_id) = 2
) AS Telephone on Telephone.customer_id = Customer.id
where Address.street_name ='MainStreet' 
and Orders.customer_id is not null
and Gender.gender ='Female'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM