hareesh babu Ответов: 1

Вопрос интервью Sql server


I have attended an interview recently, and the interviewer asked me this question:

UserId  UserName
1          Name1
1          Name2
2          Name3
Here he wants me to retrieve either Name1 or Name2 using where condition?

How can I get the result?

I wrote like

select Username from Users where Username='Name1' or Username='Name2' 

but here both the conditions are satisfied so two records are coming... What will be the query to retrive the data?


Что я уже пробовал:

select Username from Users where Username='Name1' or Username='Name2' 

0x01AA

Надеюсь, вопрос интервьюера был более ясен.... Если нет, то, с моей точки зрения, вы поступили правильно. Одним из вариантов было бы WHERE Username IN ('Name1', 'Name2')

Что касается UserId, может быть, есть опечатка с вашей стороны? Два раза "1"

CHill60

Они могли бы быть после выбора топ-1...но окончательный пункт см. в решении 1

1 Ответов

Рейтинг:
0

Wendelius

Хариш бабу писал:
Имя Пользователя Имя Пользователя
1 ФИО1
1 ФИО2
2 Имя3

Я думаю, что я бы указал, что в системе есть несоответствие. Два пользователя, имеющие один и тот же идентификатор пользователя, не должны быть возможны, поэтому либо первичный ключ отсутствует / настроен неправильно, либо в системе произошел какой-то катастрофический сбой.

Если бы ключи были на месте (1, 2 или 3), то, вероятно, лучшим вариантом было бы использовать ключ в предложении WHERE.


Karthik_Mahalingam

5