FK列可能爲null或其他值不是父表中的PK。SQL查詢從父表中沒有父項的子表中獲取記錄?
0
A
回答
0
你可以試試這個
Select * from child_table where FK not in (select PK from parent_table)
0
試試這個
SELECT ChildTable.ParentID
FROM ChildTable
WHERE NOT EXISTS (
SELECT 1 FROM ParentTable
WHERE ChildTable.ParentID = ParentTable.ParentID
)
0
您可以使用LEFT JOIN
得到預期的結果。
請樣本數據是指以下工作實施例:
DECLARE LOCAL TEMPORARY TABLE ParentTable TABLE (Id INT IDENTITY(1,1) , [Name] VARCHAR (100));
DECLARE LOCAL TEMPORARY TABLE ChildTable TABLE (Id INT IDENTITY(1,1), ParentId INT NULL, [Value] VARCHAR (50));
INSERT INTO ParentTable VALUES ('Name 001'), ('Name 002'), ('Name 003');
INSERT INTO ChildTable VALUES (1, 'Val 01'), (2, 'Val 02'), (NULL, 'Val 03'), (4, 'Val 04');
SELECT C.*
FROM ChildTable C
LEFT JOIN ParentTable P ON P.Id = C.ParentId
WHERE P.Id IS NULL;
相關問題
- 1. SQL查詢獲取具有子記錄列表的父表的記錄
- 2. SQL查詢找到沒有子記錄的父記錄。子和父記錄都在同一張表上
- 3. Linq to sql從父子表中獲取記錄
- 4. SQL查詢從表中獲取記錄
- 5. 沒有父母的sql列表記錄
- 6. SQL父子表查詢
- 7. SQL查詢根父子記錄
- 8. 需要使用SQL查詢來查找沒有子記錄的父記錄
- 9. 如何在ElasticSearch中從父級子項獲取子記錄?
- 10. 如何從單個查詢中的子表和父表中刪除記錄?
- 11. 在單個查詢(MySQL)中獲取父 - 子的有序列表
- 12. Sql獲取父項的所有子項
- 13. 在父子表中獲取父級ID?
- 14. mysql在單個查詢中獲取父和子記錄
- 15. 從查詢表中獲取所有記錄的單個查詢
- 16. 從Qtreeview的父項中獲取子項
- 17. 基於關係表從父表中獲取記錄 - CoreData
- 18. hibernate從父項中刪除子項需要獲取父項的所有子項?
- 19. 更新父項及其所有記錄中的子項sql
- 20. SQL獲得從父記錄,其中父表有關係和有共同的項目與其他家長
- 21. ElasticSearch從父項中獲取子項
- 22. Oracle SQL更新父記錄取決於同一個表中的子記錄
- 23. 獲取包含SQL中所有記錄的表的查詢
- 24. 從其父項中分離子查詢
- 25. 如何從SQL中的子查詢中的父查詢引用表列?
- 26. 查詢獲取父母的子女記錄
- 27. 使用父項和子項從表中獲取值
- 28. SQL查詢父子
- 29. 從MySql中的不同表中獲取父和子記錄(一對多)
- 30. 從父表中選擇所有記錄假設子項中存在的東西
提示:'NOT EXISTS'或'LEFT JOIN'。 –
你嘗試過什麼嗎? – Aleksej