JackShcherbakov
@JackShcherbakov

Как избавиться от логической ошибки в SQL-запросе?

Здравствуйте! Есть база данных с заказчиками. Я хочу понять какие заказчики живут в одном городе. Решил использовать левое соединение.
Вот сам запрос:
Select C1.Name, C2.Name, C1.City 
 FROM Customers AS C1, Customers AS C2   
 WHERE C1.City = C2.City        
              AND C1.Name <> C2.Name    
 ORDER BY C1.Name DESC;

Вот вывод:
+---------------------------------+---------------------------------+------------------+
| Name                            | Name                            | City             |
+---------------------------------+---------------------------------+------------------+
| Евгений Щербаков                | Олег Щербаков                   | Saint Petersburg |
| Олег Щербаков                   | Евгений Щербаков                | Saint Petersburg |
+---------------------------------+---------------------------------+------------------+

Как видно, строки, по сути, дублируются. Как этого избежать? Заранее спаисбо!
  • Вопрос задан
  • 55 просмотров
Решения вопроса 1
@bedward70
Как идея: заметить "<>" на "<". Итого:
Select C1.Name, C2.Name, C1.City 
 FROM Customers AS C1, Customers AS C2   
 WHERE C1.City = C2.City        
              AND C1.Name < C2.Name    
 ORDER BY C1.Name DESC;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы