簡體   English   中英

處理sql中的多對多關系

[英]Handling a many to many relationship in sql

我有兩個主表。 汽車和功能。 一輛車有很多功能,一個功能可以有很多輛車。 因此,在它們之間有一張橋牌桌,稱為CARFEATURE。 它具有 PKFKCarID 和 PKFKFeature ID。 我想查詢僅具有我分配的特定功能的汽車。 我將如何使用 SQL 執行此操作。

我試過,SELECT * FROM CAFEATURE WHERE FEADTUREID = 'GPS' AND FEATUREID = 'RADIO'。 但我最終得到空結果。

各種選擇。 我猜你想要

select carID
  from carFeature
 where featureID in ('GPS', 'Radio')
 group by carID
having count(distinct featureID) = 2

你也可以這樣做

select carID
  from carFeature
 where featureID = 'GPS'
intersect
select carID
  from carFeature
 where featureID = 'Radio'

我認為后一個查詢更清楚一些,但它可能不如第一個查詢有效。

暫無
暫無

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

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