【发布时间】:2012-04-10 07:13:03
【问题描述】:
我有一个表格,其中有一列祖先,其中包含一个祖先列表,其格式类似于“45 年 1 月 12 日”。 1 是根,12 是 1 的孩子,等等......
我需要在其祖先列表中找到具有特定节点/编号的所有记录。为此,我编写了以下 sql 语句:
select * from nodes where 1 in (nodes.ancestry)
我收到以下错误声明:运算符不存在:整数 = 文本
我也试过这个:
select * from nodes where '1' in (nodes.ancestry)
但它只返回在其祖先字段中具有 1 的记录。不是例如 1/12/45
怎么了?
谢谢!
【问题讨论】:
-
是什么让您认为
in是完成这项工作的正确工具?或者它会神奇地知道如何解释您的ancestry列? -
如果您有可能重新设计您的表格,您应该这样做。不建议将结构化信息保存在这样的字符串中,只会让您陷入各种问题。