我正在尝试执行一个存储过程以供搜索机制使用。
我希望它工作的方式是首先SELECT
使用LIKE TOYOTA%
. 之后,如果结果产生的结果少于 10 个,我希望它附加或UNION ALL
与另一个SELECT
具有LIKE %TOYOTA%
.
所以基本上,这就是我正在寻找的:
SELECT *
FROM CARS
WHERE CARS.MAKE LIKE '@searchQuery%'
IF(@@rowcount < 10)
BEGIN
UNION ALL
SELECT *
FROM CARS
WHERE CARS.MAKE LIKE '%@searchQuery%'
END
唯一的问题是我不能这样做 - 它不会让我UNION ALL
在IF
.
我这样做是因为我希望始终尽可能多地获得至少 10 个结果。如果我有更少,那么我想用中间某处可能有 TOYOTA 名称的记录来填充剩余的插槽。