[英]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.