2016-11-04 74 views
0

問題:有沒有辦法讓不匹配的查詢返回具有多個項目但記錄相同的記錄?訪問不匹配的查詢多個記錄

我對一個表和一個SQL查詢運行一個不匹配的查詢。一切適用於查詢中不存在的記錄。我的問題在於,當查詢中存在多條記錄時,無法識別應該重複的記錄。

這些是需要安裝和跟蹤的飛機部件。每個部分都有與其位置相關的代碼LOC。在某些情況下,這些部件具有相同的LOC代碼,但安裝了多個部件。

示例:在一種情況下,我們安裝了8個螺栓。該表分別列出每個螺栓,它們都具有相同的LOC。如果只安裝一個螺栓,則不匹配的查詢不會返回剩餘的7個未安裝螺栓的值。它看到一個螺栓並繼續前進。

有沒有辦法讓不匹配的查詢返回具有多個項目但記錄相同的記錄LOCName

SELECT [MCDS-E].MODEL, [MCDS-E].LOC, [MCDS-E].NOMENCLATURE, [MCDS-E].CHANGE_TYPE, 
     [MCDS-E].TBO, [MCDS-E].CHANGE_NUMBER, [MCDS-E].DA2410, 
     [MCDS-E].LOCAL_TRACKED, [MCDS-E].COMMENTS  
FROM [MCDS-E] 
LEFT JOIN Select_ACFT ON [MCDS-E].[LOC] = Select_ACFT.[LOC]  
WHERE ((([MCDS-E].MODEL)=Forms!Index!Text5) 
    AND ((Select_ACFT.LOC) Is Null)); 

我的表可能有:

LOC  NOMENCLATURE 

- ABCD123  Bolt 
- ABCD123  Bolt 
- ABCD123  Bolt 
- ABCD123  Bolt 

的查詢可能有:

LOC  NOMENCLATURE 
- ABCD123  Bolt 

匹配查詢將不會顯示出任何結果爲未安裝其他三個ABCD123螺栓。

任何援助將非常感激。

感謝

+4

請編輯您的問題,提供樣本數據和期望的結果。 –

+0

GROUP BY位置和名稱以及SUM或COUNT零件 – geeFlo

+0

我在access sql查詢中添加了代碼 –

回答

0

考慮加入回到您的查詢結果集爲原始表作爲當前的查詢返回匹配的記錄。一旦找到那些特定的LOC,請回到完整的[MCDS-E]表中查看相關項目。

以下假設名稱是用作連接回O主的NOMENCLATURE領域:

SELECT main.MODEL, main.LOC, main.NOMENCLATURE, main.CHANGE_TYPE, 
     main.TBO, main.CHANGE_NUMBER, main.DA2410, 
     main.LOCAL_TRACKED, main.COMMENTS 
FROM [MCDS-E] main 
INNER JOIN 
    (SELECT m.[LOC], m.NOMENCLATURE 
    FROM [MCDS-E] m 
    LEFT JOIN Select_ACFT s ON m.[LOC] = s.[LOC]  
    WHERE ((([MCDS-E].MODEL)=Forms!Index!Text5) 
     AND ((Select_ACFT.LOC) Is Null))) AS dT 
ON dT.NOMENCLATURE = main.NOMENCLATURE 

另外,節能上述嵌套SELECT作爲自己的查詢:

SELECT main.MODEL, main.LOC, main.NOMENCLATURE, main.CHANGE_TYPE, 
     main.TBO, main.CHANGE_NUMBER, main.DA2410, 
     main.LOCAL_TRACKED, main.COMMENTS 
FROM [MCDS-E] main 
INNER JOIN [UnmatchedQuery] u 
ON main.NOMENCLATURE = u.NOMENCLATURE 
+0

解決方案有幫助嗎?請接受(勾選標記到旁邊)以確認解決方案。 – Parfait

+0

不幸的是,這兩個表中都不存在術語。我試圖從查詢中獲取信息並將其添加回來,然後使用上面的信息。對不起,我不是抽屜裏最鋒利的刀,所以這還需要一些時間。證明我的觀點......我有點困惑於上面的m,s,u和dt。你能解釋一下這意味着什麼嗎? –

+0

該查詢連接'LOC'上的表,並匹配'[MCD-E]'中的'NOMENCLATURE'。這些字母僅僅是表別名(臨時的「暱稱」),以避免重新輸入較長的完整表名稱,例如'[MDCE-E]',它有助於區分兩次調用'[MCD-E]'的引用。 – Parfait