簡體   English   中英

遇到SQL Error 1111的問題

[英]Running into issues with SQL Error 1111

我正在創建一個客戶有超過1個預訂的實例。 為此,每次在預訂表中多次列出客戶編號時,這表示他們有多個預訂(這也是條件)。 不幸的是,當我嘗試運行此查詢時,我得到:

錯誤代碼:1111(無效使用組功能)。

這是我在下面所做的。

SELECT FirstName, LastName, tripName
FROM reservation, customer, trip
WHERE reservation.CustomerNum = customer.CustomerNum
AND reservation.TripID = trip.TripID
AND COUNT(reservation.CustomerNum) > 1
GROUP BY reservation.CustomerNum;

我是SQL的新手,任何建議都會非常有幫助。

如果您使用GROUP BY,則您選擇的所有字段必須位於聚合函數中或包含在GROUP BY子句中。

您需要編寫正確的連接,使用別名有助於保持可讀性並節省額外的擊鍵,並且您需要使用類似的內容將結果限制為具有多個預留的結果:

select FirstName, LastName, tripName
from customer c 
  inner join reservation r
    on c.CustomerNum = r.CustomerNum
  inner join trip t
    on r.TripID = t.TripID
where c.CustomerNum in (
  select ir.CustomerNum
  from reservation ir
  group by ir.CustomerNum
  having count(*) > 1
  )

您必須使用過濾來獲得匯總結果(而不是在哪里)

  SELECT FirstName, LastName, tripName
  FROM reservation
  INNER JOIN customer on reservation.CustomerNum = customer.CustomerNum
  INNER JOIN trip on reservation.TripID = trip.TripID
  GROUP BY reservation.CustomerNum;
  having  COUNT(reservation.CustomerNum) > 1

暫無
暫無

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

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