【发布时间】:2011-09-26 23:29:46
【问题描述】:
我有两个 SQL 查询:
一个。
SELECT (upper(rtrim(ltrim(lastname))) + upper(rtrim(ltrim(firstname))) +
upper(rtrim(ltrim(middlename))) + rtrim(ltrim(v)) ) AS userCompareStr
FROM atable ;
和
乙。
SELECT (upper(rtrim(ltrim(lastname))) + upper(rtrim(ltrim(firstname))) +
upper(rtrim(ltrim(middlename))) + rtrim(ltrim(v)) ) AS userCompareStr
FROM atable WHERE userCompareStr='GAPYLE1111' ;
我有以下代码:
Dim sql As String
Dim conn As OleDbConnection
Dim cmd As OleDbDataAdapter
Dim ds As DataSet
Dim tbl As DataTable
conn = " something here "
cmd = New OleDbDataAdapter(sql, conn)
ds = New DataSet
cmd.Fill(ds)
tbl = New DataTable
tbl = ds.Tables(0)
据我所知,当 sql 设置为字符串 A 时它似乎可以工作,但当它设置为字符串 B 时则不行。
这让我怀疑该子句有问题 WHERE userCompareStr='GAPYLE1111'
我不能以这种方式使用别名 userCompareStr 吗?我找不到这种用法的任何例子,但是当别名用于表名时,我确实找到了类似的用法——而且我没有看到任何反对我们这种用法的地方。
【问题讨论】:
标签: asp.net sql-server select oledb alias