0

无法执行此嵌套查询。仅供参考:所有表名和列名以及搜索字符串都是动态提供的。

SELECT * from (
    SELECT * from employee WHERE 
        empno like '%al%' 
        OR name like '%al%' 
        OR job like '%al%' 
        OR boss like '%al%' 
        OR hiredate like '%al%' 
        OR salary like '%al%' 
        OR comm like '%al%' 
        OR deptno like '%al%' )
    WHERE name like 'al%' 
    union all SELECT * from 
    (SELECT * from employee WHERE
     empno like '%al%' 
        OR name like '%al%' 
        OR job like '%al%' 
        OR boss like '%al%' 
        OR hiredate like '%al%' 
        OR salary like '%al%' 
        OR comm like '%al%' 
        OR deptno like '%al%' ) 
    WHERE name like '%al%' and name not like 'al%'

我想在员工表的所有列(empno、name、job、boss、hiredate 等)中搜索一个字符串(例如“al”)。但是结果应该显示在“name”列中。结果应按以下顺序显示:1)首先是在名称列中以“al”开头的员工的“名称”,然后是 2)在名称列中的任何位置包含“al”的员工的“名称”。

4

1 回答 1

0

select * for employee WHERE name like 'al%' UNION select * from employee WHERE name like '%al%' UNION select * from employee WHERE employee like '%al%' OR job like '%al%' OR boss like 'al %' 或 '%al%' 之类的雇用日期或 '%al%' 之类的 deptno

于 2013-08-06T08:58:14.703 回答