簡體   English   中英

SQL Server是否可以使用PHP從UNION查詢返回不同的別名列名?

[英]Is it possible for SQL Server to return different aliased column names from a UNION query using PHP?

我在UNION語句(或UNION ALL )中有幾個SELECT查詢。 由於它是UNION它將返回具有一列的單個數據集(在這種情況下我只有一個值返回),通常是第一個查詢中的列名。

我在每個查詢中別名列,因此我可以在PHP腳本中按名稱而不是索引使用數據。

是否可以從每個SELECT獲取別名的各個列名?

考慮,

SELECT name as manager FROM employees WHERE type = 1
UNION
SELECT name as mid_level_manager FROM employees WHERE type = 2
UNION
SELECT name as regular_employee FROM employees WHERE type = 3

我正在使用PDO和Prepared Statements,像這樣,

$results = $prepared_statement->fetchAll(PDO::FETCH_ASSOC);

也許不是最好的例子,但我怎么能得到那些別名的列名? 查詢工作正常。 我正在使用SQL Server 2012。

你不能。 UNION將使用第一個查詢中的別名列名(我想,它可能是最后一個)。 這就是UNION的觀點。

您可以為每個列選擇多個列和別名,但不能為不同的設置不同的列別名,這沒有意義。

單個列只有一個名稱,但您可以添加type列,指示返回該行的選擇:

SELECT type, name as manager FROM employees WHERE type = 1
UNION
SELECT type, name as mid_level_manager FROM employees WHERE type = 2
UNION
SELECT type, name as regular_employee FROM employees WHERE type = 3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM