powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Расстояние между городами.
20 сообщений из 20, страница 1 из 1
Расстояние между городами.
    #37834044
The_Immortal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем, вот простенькая схемка:



Таблица городов и таблица расстояний между ними.

Но вот возникли сложности, когда необходимо вывести два города и собственно расстояние между ними. Не знаю как построить такой запрос.

Надо что-то поменять в мозгу наверное, но не могу понять что именно... Создавать 2 таблицы для городов - совсем не разумно...

Подскажите, пожалуйста.

Благодарю!
...
Рейтинг: 0 / 0
Расстояние между городами.
    #37834048
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В смысле? Селект Расстояние из Расстояния где (Город1 = 5 и Город2 = 10)?
...
Рейтинг: 0 / 0
Расстояние между городами.
    #37834057
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Edd.Dragon,

нее, автор просто не знает про table aliases.
...
Рейтинг: 0 / 0
Расстояние между городами.
    #37834178
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_ImmortalВ общем, вот простенькая схемка:

Таблица городов и таблица расстояний между ними.

Но вот возникли сложности, когда необходимо вывести два города и собственно расстояние между ними. Не знаю как построить такой запрос.

Надо что-то поменять в мозгу наверное, но не могу понять что именно... Создавать 2 таблицы для городов - совсем не разумно...


не destination а distance.

Не понятно, в чём проблема.
Тут ещё вопрос как хранить расстояния -- дважды для одной пары городов или один раз.
Лучше наверное один раз, тогда на записи в таблице расстояний надо наложить
какое-то правило, и его же применять в генерируемых запросах.
например, что пишется в id_city1 идентификатор города с меньшим идентификатором,
или раньше идущий по алфавиту или ещё что-то.
...
Рейтинг: 0 / 0
Расстояние между городами.
    #37834316
The_Immortal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivНе понятно, в чём проблема.

Да проблема в запросе собственно.

Мне нужно получить: название города, название города, расстояние.

Я вот тут застреваю:
Код: sql
1.
SELECT city.name, city.name ...



Как выбрать 2 раза город...
...
Рейтинг: 0 / 0
Расстояние между городами.
    #37834320
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О! Суперсложный запрос.

Прочитай про JOIN-ы что ли ....
...
Рейтинг: 0 / 0
Расстояние между городами.
    #37834332
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А возможна ли ситуация, когда расстояния туда-обратно по какой-то причине разные (например объезд) ? :)
...
Рейтинг: 0 / 0
Расстояние между городами.
    #37834337
The_Immortal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSV,

неа :)

MasterZiv,

Я в них не врубился :( Поэтому не использую... В этой ситуации без JOIN'ов не обойтись? По идее к ним всегда можно подобрать эквивалент... Или нет?
...
Рейтинг: 0 / 0
Расстояние между городами.
    #37834352
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_ImmortalЯ в них не врубился

Ну так RTFM медленно, до просветления.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Расстояние между городами.
    #37834406
The_Immortal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Во, спасибо большое! Я имел в виду SQL89. Он мне как-то ближе. Правда в данной статье я не увидел примера, как вызывают два раза одно и то же поле...
Я вообще с таким первый раз сталкиваюсь :(
...
Рейтинг: 0 / 0
Расстояние между городами.
    #37834416
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_ImmortalПравда в данной статье я не увидел примера, как вызывают два раза одно и то же поле...

Одна и та же таблица используется дважды с разными алиасами.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Расстояние между городами.
    #37834462
The_Immortal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Большое спасибо!

В общем, сделал так:
Код: sql
1.
SELECT a.name as CityA, b.name as CityB, destination.dest FROM city a, city b, destination where a.id_city = destination.fk_id_city1 and b.id_city = destination.fk_id_city2 ;



P.S. SQL89 рулит! :)
...
Рейтинг: 0 / 0
Расстояние между городами.
    #37834512
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_ImmortalLSV,

неа :)

MasterZiv,

Я в них не врубился :( Поэтому не использую... В этой ситуации без JOIN'ов не обойтись? По идее к ним всегда можно подобрать эквивалент... Или нет?

Нет. Это базовый аппарат, без которого не обойтись вообще.
Если ты не понимаешь JOIN-ы, ты вообще ничего не понимаешь в SQL.
...
Рейтинг: 0 / 0
Расстояние между городами.
    #37834519
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_Immortal
P.S. SQL89 рулит! :)

SQL89 -- говнище, которое надо забыть, как страшный сон.
Я имею в виду способы написания jOIN-ов в нём, естественно.
...
Рейтинг: 0 / 0
Расстояние между городами.
    #37834544
The_Immortal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv,

Чем же этот говнище SQL89 так плох? На моем примере, скажем.
...
Рейтинг: 0 / 0
Расстояние между городами.
    #37834562
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 06/11/2012 06:59 PM, The_Immortal wrote:

> Чем же этот говнище SQL89 так плох? На моем примере, скажем.

JOIN-ы, я имел в виду JOIN-ы в "старом" формате.

Ну и устарел стандарт-то.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Расстояние между городами.
    #37834579
The_Immortal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv,

Ну чисто функционально использование неявных JOIN-ов никак не отражается, верно? Я это имел в виду.

А так приму к сведению и постараюсь въехать в эти ужасные (на мой взгляд) JOIN'ы.
...
Рейтинг: 0 / 0
Расстояние между городами.
    #37834580
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_ImmortalНу чисто функционально использование неявных JOIN-ов никак не отражается, верно?

Неверно. Поищи и прочитай о различии в выполнении внешних JOIN-ов так и так.
...
Рейтинг: 0 / 0
Расстояние между городами.
    #37834583
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivПоищи и прочитай о различии в выполнении внешних JOIN-ов так и так.

Это будет тяжко, поскольку в SQL89 внешние объединения отсутствуют как класс.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Расстояние между городами.
    #37834666
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 06/11/2012 07:44 PM, Dimitry Sibiryakov wrote:

> Это будет тяжко, поскольку в SQL89 внешние объединения отсутствуют как класс.

О том и спичь.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Расстояние между городами.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]