Я не знаю, правильное ли название, но здесь идет моя проблема. Итак, я хочу создать View в phpmyadmin, используя данные из нескольких таблиц (рисунок ниже), View, который представляет обслуживание для ламп с полями из нескольких таблиц (подстанция, post_type, area, lamp_type, отказ и обслуживание)MySQL create Tables/Views
Я как-нибудь справимся и создали что-то вроде этого (рисунок ниже), что мне удалось создать с помощью этого блока кода:
CREATE OR REPLACE VIEW
v_lamp_I
AS
SELECT
lamps.id,
substation.code AS sub_code,
substation.name AS sub_name,
lamps.lamp_code,
post_type.descript AS post_ty,
lamp_type.descript AS lamp_ty,
area.descript AS area_name,
rasvjeta.adress,
DATE_FORMAT(date_maintenance, "%d.%m.%Y.") AS date_main,
lamps.geo_long,
lamps.geo_lat
FROM lamps
INNER JOIN substiation ON substiation.id = lamps.substiation_id
INNER JOIN post_type ON post_type.id = lamps.post_type_id
INNER JOIN lamp_type ON lamp_type.id = lamps.lamp_type_id
INNER JOIN area ON area.id = rasvjeta.area_id
INNER JOIN maintenance ON maintenance.lamps_id = lamps.id
Мне удалось создать представление, но проблема в том, что я вижу только строки/лампы (sifra_lampe), которые поддерживались только 4. В таблице лампы У меня 24 записи и всего 4 записи для но я хочу видеть все 24 записи, и если не было обслуживания для этой конкретной лампы, поле может быть пустым с форматом даты (00-00-00 или может быть NULL) и для записей/ламп, которые были сохранены. I хотите быть видимым полем даты.
Вот настольные лампы с записями.
И вот вид с датой обслуживания. Как вы можете видеть, есть только 6 записей
Я хочу видеть остальную часть записей, для ламп, которые не поддерживаются, могут быть нулевыми или датированными форматами (00-00-00) и для ламп которые поддерживаются форматом даты, могут оставаться неизменными, короче говоря, я хочу видеть все записи не только тех, которые поддерживались. Благодарю вас и жалею о длинном вопросе. Я не знал, как построить осмысленный и короткий вопрос, поэтому написал все.
Я не могу сделать много смысла ваших имен таблиц, так что я оставлю соединение таблицы к вам, но вы должны смотреть на Присоединяется, чтобы получить представление, которое вы хотите. Внутреннее соединение показывает только полные совпадения (где обе таблицы имеют значения), вы должны использовать Left join (который показывает все перезаписи из первичной таблицы и выбирается из вторичного). При левом соединении ваша первая таблица должна быть той, у которой есть 24 записи, которые вы хотите отобразить, а вторичная таблица - та, которая имеет «нулевые» значения. Ответ здесь поможет вам: http://stackoverflow.com/questions/406294/left-join-and-left-outer-join-in-sql-server – Zero
Хорошо, я попробую что-то подобное, thx:) – Svinjica