我有一個表plist
與列list
,其中包含逗號分隔的ID(1,2,3,4)。我想要那些id不在逗號分隔列表中的成員的記錄。SQL查詢來查找記錄無法在其他表
0
A
回答
1
,最好的辦法是將逗號分隔列表分裂成一個表,然後搜索反對。
這裏是分割字符串代碼:
DECLARE @YourTable table (RowID int, Layout varchar(200))
INSERT @YourTable VALUES (1,'1,2,3,4')
;WITH SplitSting AS
(
SELECT
RowID,LEFT(Layout,CHARINDEX(',',Layout)-1) AS Part
,RIGHT(Layout,LEN(Layout)-CHARINDEX(',',Layout)) AS Remainder
FROM @YourTable
WHERE Layout IS NOT NULL AND CHARINDEX(',',Layout)>0
UNION ALL
SELECT
RowID,LEFT(Remainder,CHARINDEX(',',Remainder)-1)
,RIGHT(Remainder,LEN(Remainder)-CHARINDEX(',',Remainder))
FROM SplitSting
WHERE Remainder IS NOT NULL AND CHARINDEX(',',Remainder)>0
UNION ALL
SELECT
RowID,Remainder,null
FROM SplitSting
WHERE Remainder IS NOT NULL AND CHARINDEX(',',Remainder)=0
)
SELECT RowID,part FROM SplitSting ORDER BY RowID
+0
? –
+0
我正在使用SQL服務器 – AnandPhadke
相關問題
- 1. 查詢其他記錄的SQL子查詢語法
- 2. SQL查詢來查找重複的記錄和更新表
- 3. 無法找出正確的SQL查詢歷史表記錄
- 4. SQL服務器查詢來查找值一列在其他列
- 5. SQL查詢查找以前的記錄
- 6. Jooq無法記錄SQL查詢
- 7. Codeigniter SQL查詢其他表中沒有記錄
- 8. SQL查詢來在相鄰記錄
- 9. SQL顯示記錄首先匹配查找表然後所有其他記錄
- 10. SQL查詢來返回記錄有和無子記錄
- 11. SQL查詢來查找日期和時間之間記錄
- 12. 查詢獲得其他表中存在其ID的記錄列表的查詢,但其他列的值不同
- 13. SQL查詢查找表記錄是同一表的一部分
- 14. 需要使用SQL查詢來查找沒有子記錄的父記錄
- 15. 查找一個表中沒有的其他行 - SQL Server查詢
- 16. SQL查詢來根據其他領域
- 17. 查找記錄在SQL
- 18. 查詢問題在SQL查詢找到空記錄
- 19. 通過查詢SQL查詢只查找啓用的記錄
- 20. SQL Server查詢查找重複記錄加入查詢
- 21. SQL查詢來查找列
- 22. SQL查詢來查找月
- 23. 無法加入其他錶行條件,我的SQL查詢
- 24. 用於查找表中新記錄百分比的SQL查詢
- 25. 查詢在其他查詢
- 26. sql查詢找到唯一的記錄
- 27. sql查詢找到重複記錄
- 28. SQL查詢找到交織的記錄
- 29. sql查詢找到丟失的記錄
- 30. 忽略來自SQL查詢的記錄
哪個RDBMS? SQL Server,MySQL發等 – hims056
唯一有效的答案應該是「重新設計你的DB模式和關於規範化寫着」您正在使用哪個數據庫服務器 – fancyPants