MySQL返回静态字符串

时间:2011-05-27 19:18:07

标签: php mysql static

我有一个CMS,需要SQL查询来返回下拉列表的选项/值...通常它会从SQL查询中的表中返回行并填写下拉选项。有时我只想在下拉列表中有两个静态选项,并且不想创建整个表来管理这两个不变的项目。

我的问题是:是否有一个MySQL查询不会查询表,但只会返回一些静态结果,就像查询表一样?

理想情况下,我想要类似的东西(但是静态的):

SELECT value FROM `fake_table` 

并返回以下内容:

value
//////////////
Option One
Option Two
Option Three
Etc...

提前感谢您的帮助!

3 个答案:

答案 0 :(得分:21)

select 'Option One' as Value
union
select 'Option Two' as Value

答案 1 :(得分:2)

假设在MySQL中选择常量值的语法与MSSQL相同:

SELECT 'fake_value_1' AS value, 1 AS sort
UNION ALL
SELECT 'fake_value_2', 2
UNION ALL
SELECT value, 3 FROM table
ORDER BY sort, value

sort列确保伪值始终显示在结果集的开头,但实际值按其值排序。

注意 UNION ALL(与UNION相对)在组合结果集时不会尝试消除重复项。这是合法的,假设您的静态值不会复制实际表中的任何值 - 这值得记住,因为UNION ALL的性能稍好一些(在这种情况下不太可能有所不同,但这是一个很好的一般规则)。 / p>

另请注意:正如@Marc B在评论中提到的那样,将静态值放在表示层中可能会更好地分离关注点,而不是将该逻辑放在数据库中。

答案 2 :(得分:0)

字符串两列作为单个列返回:

SELECT CONCAT('example string', column1, column2) AS combined FROM table;