3

这是查询,如何从结果中选择前 1 个?这是针对 SQL Server 的。

SELECT column1 
FROM table 
WHERE column2 = 'Whatever' AND column3 = 'Sure'

UNION

SELECT column4 
FROM table 
WHERE column2 = 'Whatever' AND column3 = 'Sure'
4

3 回答 3

7

尝试这个:

SELECT TOP 1 * FROM
(
  SELECT column1 FROM table WHERE column2 = 'Whatever' AND column3 = 'Sure'
  UNION
  SELECT column4 FROM table WHERE column2 = 'Whatever' AND column3 = 'Sure'
) R
ORDER BY Column1
于 2012-04-15T20:38:22.437 回答
2

尝试:

SELECT max(Column) FROM (
  SELECT column1 as Column FROM table WHERE ....
  UNION 
  SELECT column4 as Column FROM table WHERE ....
)
于 2012-04-15T20:35:56.433 回答
1

你的意思是

SELECT TOP 1 * 
FROM (
    SELECT column1 FROM table WHERE column2 = 'Whatever' AND column3 = 'Sure'
    UNION
    SELECT column4 FROM table WHERE column2 = 'Whatever' AND column3 = 'Sure')
于 2012-04-15T20:36:18.690 回答