将连接字段与变量列表进行匹配

时间:2017-01-25 15:28:06

标签: sql oracle keyword-search

下午好,

我正在尝试匹配一个地址字段列表(连接以赋值ALL_ADDRESS)到一个包含后缀的单独表,可能有数百行。

我想要的输出是显示那些后缀属于ALL_address变量的条目(即PARIS STREET)

当我连接没有连接时,这工作正常,但是当我开始加入时,我得到一个错误:

 [Serializable]
class FlowController : OnMethodBoundaryAspect
{
    [ThreadStatic]
    private static bool logging;

    public override void OnEntry(MethodExecutionArgs args)
    {
        if (logging)
            return;

        try
        {
            logging = true;
            if (ProgramState.State() == false)
            {
                args.ReturnValue = ""; // WHAT DO I SET HERE?
                args.FlowBehavior = FlowBehavior.Return;
            }
        }
        finally
        {
            logging = false;
        }
    }
}

非常感谢任何帮助

2 个答案:

答案 0 :(得分:0)

我不确定你要做什么。但正确的语法需要on的{​​{1}}子句:

join

我记得,Oracle并不支持from test_table x join suffix_list s on x.All_Address LIKE CONCAT('%', s.suffix, '%') 表别名,因此您的查询也可能存在其他语法问题。

在Oracle中,这通常更像是:

as

答案 1 :(得分:0)

Haven一直在使用Oracle,但是:

CREATE table t1 (
 a varchar(5),
 b varchar(5),
 c varchar(5));
 INSERT INTO t1 VALUES ('one','two','three');
 INSERT INTO t1 VALUES ('two','nine','five');
 INSERT INTO t1 VALUES ('two','one','one');

  CREATE TABLE t2 (filter varchar(5));
  INSERT INTO t2 VALUES ('one');
  INSERT INTO t2 VALUES ('six');


  WITH t1new AS (SELECT t1.*, a || ' ' || b || ' ' || c as address  FROM t1) 

  SELECT t1new.*
  FROM t1new,t2
  WHERE address like CONCAT(CONCAT('%', t2.filter),'%')

以上示例在liveql Oracle中运行。