【问题标题】:how to use variable values in sqlite string pattern match?如何在 sqlite 字符串模式匹配中使用变量值?
【发布时间】:2017-04-28 18:42:42
【问题描述】:

是否可以在 sqlite 查询中使用LIKE 模式匹配中的变量?我有桌子:

表 1:

id  names  linker  
1   williams, john; jones, lisa   A1
2   jones, lisa                   A1
3   sanders, karim                A2
...

表 2:

index  name      linker
X      williams  A1
Y      jones     A1
Z      sanders   A2

我想在linker 列上将表 1 连接到表 2,按 Table2.index 分组,但只考虑表 1 中的条目,其中 Table1.name 是 Table2.names 的子字符串,即Table2.names LIKE '%Table1.name%'。在上面的表中williams 表 1 中具有 id 1 的条目将与表 2 中的索引 X 相关联,但表 1 中具有 id 2 的条目不会。如何在模式匹配中使用列?这不起作用

select * from table1 join table2 on (table1.linker == table2.linker) where names like '%' + name + '%' group by table1.index

【问题讨论】:

    标签: sql sqlite relational-database


    【解决方案1】:

    在 SQL 中,+ 用于添加数字。要连接字符串,请使用||:

    SELECT *
    FROM table1
    JOIN table2 USING (linker)
    WHERE names LIKE '%' || name || '%'
    GROUP BY table1.id;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-06
      • 2011-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-18
      相关资源
      最近更新 更多