2013-04-03 73 views
0

我已经浏览了所有的互联网,甚至这个网站的答案,也许我只是措辞我的问题的方式,是不是让我得到正确的结果,但我只是想知道是否有一种方法使用SQL以不是表格形式的方式从表中返回数据?如何从MySQL中不是表格格式的表格返回数据?

基本上,我有一张关于不同书籍的信息表,我想找到一种方式来返回这种格式的信息:“作者;标题(出版者:出版年)”,不使用PHP或任何其他类型的编程语言?只使用SQL?

非常感谢你!

+0

也许你可以在你的SELECT结果导出到CVS文件,然后用文本编辑器如记事本++和正则表达式在它进行格式化您想要的方式? – 2013-04-03 22:09:57

回答

1

您可以使用concat。

见下面的例子

选择的concat(COALESCE(AUTHOR, ''), ';',COALESCE(TITLE, ''), '(',COALESCE(出版者, ''), ':', COALESCE(YEAROFPUBLISH,''),')')as your_result from YOUR_TABLE

+0

您还需要在每个可能具有空值的字段上添加COALESCE(fieldname,''),因为将任何值与空值连接都会导致null。 – Chud 2013-04-03 22:18:24

+0

@Chud权利;)我编辑答案,谢谢你的提示 – FeRtoll 2013-04-03 22:20:54

+0

啊,完美。谢谢!! – hayleyelisa 2013-04-03 22:22:44

0

这可能对你有帮助。


select COALESCE(Author,'')+';'+COALESCE(TITLE,'') + ' ('+COALESCE(Publisher,'')+':'+cast([Year of publication]) as varchar) + ')' as Result from yourtable 
+0

将返回一个不错的0 – Mchl 2013-04-03 22:17:05

+0

谢谢!!!!!! – hayleyelisa 2013-04-03 22:23:14