2013-08-16 51 views
0

我有以下查询:选择添加额外的一行提示与加盟

SELECT 
    a.id, 
    concat(a.name, ' -', b.title, '-') AS title 
FROM 
    tourist_tour as a 
    left join ategories as b on a.category=b.id 
order by a.name asc 

我想在结果的开始添加一行,其中id是0和标题是“请选择游览”。

我一直在使用

Select 0, "select a tour" 
UNION ALL 
rest of select query 

看到答案,但它不与我一起工作。

任何想法?

感谢

+0

这应该很好地工作。你能发布完整的查询哪些不起作用和你得到的错误信息? – Vatev

+0

使用数据库而不是接收程序的奇怪做法。 – mishik

+0

看看我的答案。你的'ORDER'子句是我认为的主要问题,而第二个'SELECT'中缺少名称列。我还添加了一个IFNULL函数,因为您正在使用'LEFT JOIN' –

回答

0
SELECT 0 AS id, "select a tour" AS title 
UNION ALL 
SELECT 
    a.id, 
    concat(a.name, ' -', IFNULL(b.title,' '), '-') AS title 
FROM 
    tourist_tour AS a 
LEFT JOIN categories AS b ON a.category=b.id 
ORDER BY CASE WHEN id = 0 THEN id ELSE title END 

SQLFIDDLE:http://www.sqlfiddle.com/#!2/310cc3/1/0