【发布时间】:2020-02-14 06:12:05
【问题描述】:
我有一个表,其中有一列的值用逗号分隔。
例如 Column 具有以下值:
index Column
1 X,Y,Z,A,B,C,D,E,F,G,H,I,J,K,L,M,T,W,O
2 Y,Z,G,H,I,J,K,L,M,T,E,W,O
3 X,Y,Z,F,G,H,I,L,M,T,W,O,A,B,C,D,E,J,K
4 A,Z,B,X,Y
5 X,Y,A,Z,B
我想打印具有 X,Y,Z,A,B,C,D,E,F,G,H,I,J,K,L,M,T,W,O 的列的数据只有这样才能成为索引号 1 和 3,因为它们具有相同的值,只是顺序不同。无法手动搜索所有值,因为如果搜索查询的要求更改为 X、Y、A、Z、B,那么它必须是索引号 4 和 5。 我怎么做?。谢谢!
【问题讨论】:
-
你使用什么数据库?
-
如果可以的话,请重新打开这个问题并帮助@RachanaGandhi
-
表是关系型反模式,你考虑过索引列值行的表吗?此外,如果列是 DB 列并在行中对其值进行赋值,那么这很可能是更大的有时是反模式 EAV 的一部分。
-
为什么它会有意义地更大?与目前相比,它会有一些重复。但这种设计正是关系型 DBMS 的用途。使用正确的设计。 PS您当前的带有有序索引的设计和上面的链接不一定会创建一个大的中间表。您还可以交叉应用或以其他方式使用从一行返回表的函数中的表。还要了解 SQL 中的关系划分。 PS您目前对您想要的内容的描述非常不清楚。使用足够多的单词、句子和对部分示例的引用来清楚完整地表达你的意思。
标签: sql sql-server tsql sql-server-2017