在内部查询运算符

时间:2017-10-23 07:44:36

标签: sql oracle sql-like

我可以在HRESULT MyCustomMethod2([in] Windows.Foundation.IStringable *param2); 运算符中使用查询。

我使用了下面的查询,但它返回错误。

this.counter = getRuntimeContext()
  .getMetricGroup()
  .counter("countit");

4 个答案:

答案 0 :(得分:1)

以下内容应该有效:

SELECT
 *
FROM
 customers    c
WHERE 1=1
AND EXISTS
 (SELECT 1
  FROM members   m
  WHERE 1=1
  AND c.cust_name LIKE '%'||m.name||'%'
 )

答案 1 :(得分:1)

PLSQL中,如果要运行查询,则需要对变量进行十进制转换以保存查询结果。所以你可以这样做:

DECLARE
   var   customers%ROWTYPE;
BEGIN
   SELECT c.*
     INTO var
     FROM customers c
          INNER JOIN members m ON c.cust_name LIKE '%' || m.name || '%';
END;

答案 2 :(得分:1)

您应该在subselect中定义成员的名称部分(仅适用于1行):

select * 
from customers
where cust_name like (select '%'||name||'%' from members);

使用JOIN可以完成相同的操作(适用于多行):

select C.* 
from customers C 
INNER JOIN MEMBERS M ON (C.CUST_NAME LIKE '%'||M.NAME||'%');

答案 3 :(得分:0)

将子查询括在括号中就足够了

像是一样 cust_name如'%'|| (从成员中选择名称) ||'%'

但这只适用于表“members”只有一条记录

的情况