我被要求返回所有property_id(PK),其中客戶擁有多個屬性(property_id,FK)。下面是視覺參考下表:從表中返回PK,其中FK出現多次
我將如何做到這一點在有效的SQL語法?我的思維過程如下:
SELECT property_id FROM CustomerProperties
WHERE COUNT(property_id) > 1
這顯然是無效的,但這是我的OOP思維過程。
我被要求返回所有property_id(PK),其中客戶擁有多個屬性(property_id,FK)。下面是視覺參考下表:從表中返回PK,其中FK出現多次
我將如何做到這一點在有效的SQL語法?我的思維過程如下:
SELECT property_id FROM CustomerProperties
WHERE COUNT(property_id) > 1
這顯然是無效的,但這是我的OOP思維過程。
如果我正確理解你的問題,從你的樣品臺圖像預期的結果將是1,4
像這樣的東西應該讓你開始。
DECLARE @Test TABLE
(
PropertyId INT PRIMARY KEY,
CustomerId INT
);
INSERT @Test (PropertyId, CustomerId)
VALUES (1, 1), (2, 2), (3, 3), (4, 1);
SELECT
PropertyId
FROM
@Test
WHERE
CustomerId IN
(
SELECT
CustomerId
FROM
@Test
GROUP BY
CustomerId
HAVING COUNT(*) > 1
);
查詢的第二部分查找具有多個屬性的客戶。
集團被列你想成爲獨一無二的,只選擇那些具有計數組> 1
SELECT property_id
FROM CustomerProperties
GROUP BY property_id
HAVING COUNT(*) > 1
當組則全部彙總功能,如COUNT()應用到每個組和不完整的結果組。 HAVING子句用於組範圍條件,而WHERE子句用於記錄條件。
感謝您的回覆! 不幸的是,它不是我的工作。不應該爲customer_id使用GROUP BY子句,因爲這是我們要檢查> 1條記錄的列嗎? 再次感謝。 – Rhonage
不工作太模糊。什麼不工作? –
請閱讀http://meta.stackoverflow.com/questions/285551/why-may-i-not-upload-images-of-code-on-so-when-asking-a-question/285557和接受的答案 –
您正在使用哪些DBMS? –
回覆:代碼圖片 - 是否也可以用於數據庫表格表示? 我正在使用MS SQL Server Management Studio。 – Rhonage