#sql
Вопрос:
Добрый день:
Извините, если я плохо выражаюсь, но английский не является моим родным языком, и я не владею им свободно.
Я начинаю курс SQL без каких-либо предварительных знаний. Вчера я спросил, и вы помогли мне обнаружить ошибку, которая дала мне дубликаты данных.
Я использую этот выбор, чтобы показать адреса, которые присутствуют в одной и той же стране, используя таблицы «местоположения и страны» из схемы HR. Результаты должны быть отсортированы по имени страны, улице a и улице b.
Я использую этот ВЫБОР, в котором у меня была первая ошибка с использованием «<>» для отображения разных улиц, но вчера вы сказали мне, что я должен был использовать «<><» или «>». Это решило проблему повторяющихся строк (A / Страна / B) и (B / Страна / A), теперь показывая мне только один из этих двух вариантов. Идеально!
SELECT DISTINCT A.STREET_ADDRESS AS "CALLE A", C.COUNTRY_NAME, B.STREET_ADDRESS AS "CALLE B"
FROM HR.LOCATIONS A JOIN HR.LOCATIONS B ON (A.STREET_ADDRESS < B.STREET_ADDRESS), HR.COUNTRIES C
WHERE A.COUNTRY_ID = B.COUNTRY_ID AND B.COUNTRY_ID = C.COUNTRY_ID
ORDER BY C.COUNTRY_NAME,"CALLE A", "CALLE B"
Теперь новая проблема заключается в том, что он хорошо показывает мне 6 строк, а остальные неверны в отношении решения, которое должно быть в этом упражнении.
Первые 6 строк идеальны, а с 7 по 13 данные из «A» обмениваются на «B», и, следовательно, порядок больше не соответствует ожидаемому результату.
Это решение учителя:
КАЛЛЕ А | НАЗВАНИЕ СТРАНЫ | КАЛЛЕ Б |
---|---|---|
Проспект Спадина, 147 | Канада | 6092 ул. Самшитовая |
1297 Via Cola di Rie | Италия | 93091 Calle della Testa |
2017 Синдзюку-ку | Япония | 9450 Камия-чо |
20 Rue des Corps-Saints | Швейцария | Murtenstrasse 921 |
8204 Артур-стрит | Великобритания | Центр Магдалины, Оксфордский Научный парк |
8204 Артур-стрит | Великобритания | 9702 Честер-роуд |
Центр Магдалины, Оксфордский Научный парк | Великобритания | 9702 Честер-роуд |
2014 Бармаглот Рд | Соединенные Штаты Америки | 2011 Интерьер Бульвар |
2014 Бармаглот Рд | Соединенные Штаты Америки | 2007 ул. Загора |
2014 Бармаглот Рд | Соединенные Штаты Америки | 2004 Шарада Рд |
2011 Интерьер Бульвар | Соединенные Штаты Америки | 2007 ул. Загора |
2011 Интерьер Бульвар | Соединенные Штаты Америки | 2004 Шарада Рд |
2007 ул. Загора | Соединенные Штаты Америки | 2004 Шарада Рд |
И это то, что я получаю:
КАЛЛЕ А | НАЗВАНИЕ СТРАНЫ | КАЛЛЕ Б |
---|---|---|
Проспект Спадина, 147 | Канада | 6092 ул. Самшитовая |
1297 Via Cola di Rie | Италия | 93091 Calle della Testa |
2017 Синдзюку-ку | Япония | 9450 Камия-чо |
20 Rue des Corps-Saints | Швейцария | Murtenstrasse 921 |
8204 Артур-стрит | Великобритания | Центр Магдалины, Оксфордский Научный парк |
8204 Артур-стрит | Великобритания | 9702 Честер-роуд |
9702 Честер-роуд | Великобритания | Центр Магдалины, Оксфордский Научный парк |
2004 Шарада Рд | Соединенные Штаты Америки | 2007 ул. Загора |
2004 Шарада Рд | Соединенные Штаты Америки | 2011 Интерьер Бульвар |
2004 Шарада Рд | Соединенные Штаты Америки | 2014 Бармаглот Рд |
2007 ул. Загора | Соединенные Штаты Америки | 2011 Интерьер Бульвар |
2007 ул. Загора | Соединенные Штаты Америки | 2014 Бармаглот Рд |
2011 Интерьер Бульвар | Соединенные Штаты Америки | 2014 Бармаглот Рд |
Есть какие-нибудь идеи? Я применил все знания, которыми обладаю, а их немного. Еще раз спасибо.
Комментарии:
1. Я думаю, что правильный порядок должен быть упорядочен ПО C. ИМЯ_СТРАНЫ,»CALLE A», «CALLE B», чтобы получить решение для учителей, но мне нужен обмен A/B с 7 по 13