在SQL中比较数组

Ada*_*low 0 sql arrays

我正在为纸牌游戏创建一个网站,我的搜索功能有问题.

我想允许用户搜索与给定字段的任意数量的选项匹配的卡(例如,卡可以是六个不同派系中的一个,并且我有一个多选框,允许用户选择匹配的多个阵营).如果卡只能是其中一个选项,那么我可以使用'IN'sql运算符简单地构建查询,并且工作正常.

当卡在数据库中有多个子类型时,我遇到了问题.现在我将子类型存储为单个字段中的逗号分隔列表,我想使用'&&'运算符来比较2个集,但这是一个数组运算符,表中的数据显然不存储为数组,所以它不工作.

有没有办法做到这一点?

Rob*_*vey 5

不要使用以逗号分隔的列表来存储您的卡属性; 那不行.

在Cards表中为每个属性创建新列,或者在Card表中加入另一个包含一对多关系属性的表.