任何人都可以帮助我在没有UNION
的情况下重写此查询吗?
我需要在没有UNION
的情况下在HQL中使用此查询。有没有其他方法如何加入这样的两个选择?
我的观点是,我需要在同一个表中将来自这两个查询的结果合并到一个结果中。谢谢!
SELECT tab.name AS name FROM Table tab
WHERE tab.name LIKE '%abc%'
UNION
SELECT TO_CHAR(tab.id) AS name FROM Table tab
WHERE tab.id = 5
答案 0 :(得分:1)
这相当于:
SELECT CASE
WHEN tab.id = 5 THEN TO_CHAR(tab.id)
ELSE tab.name
END AS name
FROM Table tab
WHERE tab.name LIKE '%abc%'
OR tab.id = 5
答案 1 :(得分:0)
CREATE TABLE #TABLE(NAME VARCHAR(100))
INSERT INTO #TABLE(NAME)
SELECT tab.NAME AS NAME
FROM table tab
WHERE tab.NAME LIKE '%abc%'
INSERT INTO #TABLE(NAME)
SELECT TO_CHAR(tab.id) AS NAME
FROM table tab
WHERE tab.id = 5
SELECT NAME
FROM #TABLE