Sha*_*hul 0 sql t-sql sql-server
我在下面遇到过一个问题
SELECT ColumnName1,*
FROM TableName
WHERE ColumnName = 'XXXXXX'
ORDER BY ColumnName1
Run Code Online (Sandbox Code Playgroud)
从上面的查询中,它会将错误抛出为不明确的列名列Column1.
即使我没有使用数字表,它也会抛出这样的错误.任何人都能说出这背后的原因.
因为SELECT有两列叫ColumnName1- 一个明确放在那里,一个放在那里*.以下是一些选择:
SELECT t.ColumnName1, t.*
FROM TableName t
WHERE t.ColumnName = 'XXXXXX'
ORDER BY t.ColumnName1
Run Code Online (Sandbox Code Playgroud)
要么:
SELECT t.ColumnName1, t.*
FROM TableName t
WHERE t.ColumnName = 'XXXXXX'
ORDER BY 1
Run Code Online (Sandbox Code Playgroud)
要么:
SELECT t.ColumnName1 as second_columnname1, t.*
FROM TableName t
WHERE t.ColumnName = 'XXXXXX'
ORDER BY second_columnname1
Run Code Online (Sandbox Code Playgroud)