如何获取我在SQL Server查询中选择的最后一列的id


How do I also get the id of the last column I selected in my SQL Server query?

表的示例数据库,员工:

id      market      firstName
1       1           John
2       2           James
3       1           Sally
4       1           Mary
5       2           Susan

如果我写下以下查询,

SELECT firstName 
FROM employees 
WHERE market = 1

我将得到以下数组:

array("John", "Sally", "Mary")

我使用odbc连接到sql服务器,然后使用odbc_fetch_array检索结果。然而,我也希望提取最后一个firstNameid,例如:

array("John", "Sally", "Mary", 4)

我已经知道如何在两个查询中做到这一点,但我希望提高性能,如何在一个查询中实现这一点?

如果重要的话,我将使用odbc连接到sql服务器。

谢谢。

由于不能在数组中混合数据类型,因此我认为如果最后一个id以字符串形式返回,也可以。

在这种情况下,您可以使用UNION ALL:

SELECT firstName 
FROM employees 
WHERE market = 1
UNION ALL 
SELECT CAST(MAX(id) AS varchar(31))
FROM employees 
WHERE market = 1