2015-07-06 4 views
0

Я получаю следующую ошибку при использовании следующего запроса, используя предложение ORDER BY, S.No (тип int) существует в таблице , не знаете, почему это ошибка? Есть идеи, как это исправить?Код ошибки: 1054. Неизвестный столбец 'S.No' in 'order clause'

SELECT gerrit_id 
FROM gerrits.gerrit_table 
WHERE (((SU_version>='00.00.0001')&&(SU_version<='00.00.0006')) 
    AND PL='LA.HB.1.1.1' 
    AND component='SU_CNSS_BT_FM_LA.HB.1.1.1') 
ORDER BY S.No 

Ошибка: -

Error Code: 1054. Unknown column 'S.No' in 'order clause' 

Таблица схемы

Field Type Null Key Default Extra 
S.No int(11) NO PRI NULL auto_increment 
gerrit_id varchar(45) NO PRI NULL  
SI varchar(45) NO PRI NULL  
component varchar(45) NO PRI NULL  
gerrit_owner varchar(45) NO PRI NULL  
release_bit int(11) NO PRI NULL  
picked_bit int(11) NO PRI NULL  
+0

Пожалуйста, скопируйте в схему таблицы так, чтобы w e может видеть доступные вам столбцы. –

+0

@LightnessRacesinOrbit - да У меня есть имя столбца с типом int (11), установленным в auto increment – user2125827

+0

@DanielWaghorn - Как скопировать схему таблицы здесь? – user2125827

ответ

4

Я удивлен, что СУБД принял имя столбца S.No хотя попробовать это:

SELECT gerrit_id 
FROM gerrits.gerrit_table 
WHERE (((SU_version>='00.00.0001')&&(SU_version<='00.00.0006')) 
    AND PL='LA.HB.1.1.1' 
    AND component='SU_CNSS_BT_FM_LA.HB.1.1.1') 
ORDER BY `S.No` 
+0

В чем проблема с S.No, почему, по вашему мнению, СУБД не должен принимать это? – user2125827

+2

Это просто необычно, поскольку MySQL обычно интерпретирует эту точку как приглашение для доступа к полю в другой таблице или через псевдоним, хотя, если он принят, и он отлично подходит для вас, тогда никакого вреда. –

+4

Я думаю, что СУБД думает, что у него будут проблемы с дифференциацией этого и псевдонима. Например, у вас есть таблица 'table AS S', тогда если' table' имеет столбец 'No'you также назвал бы это' S.No'. Изменить: лучше сказал @ Даниэль Вагхорн. – Pholochtairze

Смежные вопросы