我正在IBExpert中修改現有查詢。通常我們運行這個查詢,將結果導出到Excel,然後運行一個宏來創建一個新的字段 - 我試圖消除Excel中的這一步。使用SQL識別1對1記錄與多對多
我們有兩個來自不同表格的關鍵字段 - 讓我們稱它們爲來自Projects的ProjNo和來自Customers的CustNo--它們有多對多的關係。一個項目可以涉及多個客戶,並且一個客戶可以運行多個項目。他們之間有一個鏈接表來管理關係。
我們希望能夠識別這些值之間存在1:1的相關性,其中ProjNo只出現一次,而CustNo只出現一次。我已經摸索了很多嘗試將Case When語句放在一起,但我沒有太多運氣。這裏是我的最新嘗試:
(case when (select count(Proj.ProjNo) PCounts from Proj group by Proj.ProjNo)=1 and
(select count(Cust.CustNo) CCounts from Cust group by Cust.CustNo)=1
then "1:1" else "Multi" end) as Links
我知道我需要包括某種形式的WHERE子句只檢查查詢的主體匹配PROJNO是值的,但我不知道如果我即使在正確的方向,或者我將如何將Case內部的SQL語句連接到主查詢。
幫助?
非常感謝!我需要做一些修改以適應它,但看起來應該讓我得到我需要的東西。 – Werrf