我有一个表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. Jooq无法记录SQL查询
- 5. Codeigniter SQL查询其他表中没有记录
- 6. SQL查询来在相邻记录
- 7. SQL查询来返回记录有和无子记录
- 8. SQL查询来查找日期和时间之间记录
- 9. SQL查询查找表记录是同一表的一部分
- 10. 需要使用SQL查询来查找没有子记录的父记录
- 11. 查找一个表中没有的其他行 - SQL Server查询
- 12. SQL查询来根据其他领域
- 13. 通过查询SQL查询只查找启用的记录
- 14. SQL Server查询查找重复记录加入查询
- 15. SQL查询来查找月
- 16. SQL查询来查找列
- 17. 无法加入其他表行条件,我的SQL查询
- 18. 用于查找表中新记录百分比的SQL查询
- 19. sql查询找到丢失的记录
- 20. sql查询找到唯一的记录
- 21. sql查询找到重复记录
- 22. SQL查询来计算记录
- 23. SQL查询来摆脱重复记录
- 24. MySQL的内部联接查询来获取记录不存在于其他表
- 25. 通过记录号查询SQL查询
- 26. 更新查询以更新'其他记录之间的记录?
- 27. 查找与HABTM中其他型号无关的记录
- 28. 查询表查找ANSI SQL中是否存在子表的匹配记录
- 29. Rails的where子句需要通过其他表查找记录
- 30. 查找空记录 - PROC SQL
哪个RDBMS? SQL Server,MySQL发等 – hims056
唯一有效的答案应该是“重新设计你的DB模式和关于规范化写着”您正在使用哪个数据库服务器 – fancyPants