您的位置:首页 > 数据库

SQL 同时对多个表进行模糊查询并自定义顺序

2017-03-09 11:24 295 查看

使用场景

类似qq主面板的搜索框,可以输入数字,字母(汉字首拼),中文进行模糊搜索,可以搜到的结果有:qq号,昵称,群号,群名称等等。而这些内容可能存放在不同的表中,则需要对多个表的多个内容同时进行搜索:(搜索的字段3个表中必须相同)

SQL语句

SELECT
*
FROM
(
SELECT
FLAG,
SID,
ID,
NAME,
MOBILEPHONE,
1 AS userType
FROM
TAB_1
UNION
SELECT
FLAG,
SID,
ID,
NAME,
MOBILEPHONE,
2 AS userType
FROM
TAB_2
UNION
SELECT
FLAG,
SID,
ID,
NAME,
MOBILEPHONE,
3 AS userType
FROM
TAB_3
) d
WHERE
(
d.NAME LIKE '%搜索内容%'
OR d.MOBILEPHONE LIKE '%搜索内容%'
OR d.ID LIKE '%搜索内容%'
OR d.SID LIKE '%搜索内容%'
)
AND d.FLAG != 3
ORDER BY
userType ASC
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: