Как мы можем создать представление, в котором 2 поля в таблице A оба требуют данных из определенного поля в таблице B?

#mysql

#mysql

Вопрос:

Создайте новое представление SQL под названием TripMaps, которое включает сведения о станции (ориентир, широта, долгота) как для начальной, так и для конечной станций для каждого идентификатора поездки. (Станции.name и trips.startstation содержат похожие названия станций)

введите описание изображения здесь

Комментарии:

1. Представление — это просто сохраненный SELECT запрос. Итак, вы делаете это так же, как вы бы делали это в обычном SELECT .

2. Это звучит как домашнее задание. Весь смысл домашнего задания в том, чтобы вы выяснили это на основе вашего урока, а не заставляли кого-то другого делать это за вас.

3. Проблема, с которой я сталкиваюсь в настоящее время, заключается в том, что я должен объединить 2 таблицы с определенным полем из Trips, которое соединяется с двумя другими полями в stations (startstation и endstation). Я понятия не имею, как должны отображаться поля таблицы. Мне не нужны прямые ответы, будут с благодарностью даны просто рекомендации о том, как можно создавать таблицы объединения @Barmar

4. Вам нужно объединить с STATIONS дважды, один раз ON stationID = startStation и затем ON stationID = endStation . Дайте каждому из них разные псевдонимы, затем получите сведения о станции из каждого псевдонима.

5. Похоже, ваш вопрос был о том, как написать представление, а не как написать запрос.

Ответ №1:

 create or replace view TripMaps as
select
s.Name,
s.CoordLat,
s.CoordLong,
s.Landmark
from Stations s
where s.Name in (Select t.StartStation,t.EndStation from Trips t);
  

Это предполагает, что вы используете одинаковые точные имена с идентичным форматированием для обеих станций.Имя и отключения.StartStation / Trips.EndStation)