在SQL中比较数组

时间:2014-08-07 21:50:57

标签: sql arrays

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

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

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

有办法做到这一点吗?

1 个答案:

答案 0 :(得分:5)

请勿使用以逗号分隔的列表来存储您的卡片属性;那不行。

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