Вопрос

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

SELECT arrangement_ID, hva, dato 
FROM tt_arrangement LEFT JOIN (tt_vaktliste_vakt)
ON (tt_arrangement.arrangement_ID = tt_vaktliste_vakt.arrangement_ID)

Это, естественно, производит «неоднозначную ошибку», поскольку столбец «ustorage_id» присутствует как в TT_Arrangement, так и в TT_VAKTListe_Vakt. Думая, что это было легко исправить, я сделал следующие изменения:

SELECT **arrangement_ID.tt_arrangement**, hva, dato 
FROM tt_arrangement LEFT JOIN (tt_vaktliste_vakt)
ON (tt_arrangement.arrangement_ID = tt_vaktliste_vakt.arrangement_ID)

Тем не менее, это произведено ошибка «столбец не существует». И вот где я застрял. Не уверен, что это имеет значение, но при использовании выбора * запрос работает как предназначено. Хотя это не совсем вариант для того, что я собираюсь использовать запрос для.

Заранее спасибо за любые ответы.

Это было полезно?

Решение

Префикс неоднозначного имени столбца с табличкой:

SELECT t_arrangement.arrangement_ID, hva, dato  
FROM tt_arrangement LEFT JOIN (tt_vaktliste_vakt) 
ON (tt_arrangement.arrangement_ID = tt_vaktliste_vakt.arrangement_ID) 

(предполагает, что HVA, DETO являются уникальными именами столбцов)

(Вы также можете использовать псевдонимы, но все равно надо префиксировать неоднозначные имена столбцов с псевдонимами)

Другие советы

Вам нужно дать имена своим таблицам псевдоним, как ниже.

SELECT a.arrangement_ID, a.hva, a.dato 
FROM tt_arrangement  AS a
LEFT JOIN tt_vaktliste_vakt AS v
ON (a.arrangement_ID = v.arrangement_ID)

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

Надеется, что это помогает.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top