Неоднозначно осталось присоединиться? - PullRequest
0 голосов
/ 28 ноября 2010

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

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

Это, естественно, приводит к "неоднозначной ошибке", поскольку столбец 'расположение_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 * запрос работает как задумано. Хотя это не совсем то, для чего я собираюсь использовать запрос.

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

Ответы [ 2 ]

3 голосов
/ 28 ноября 2010

Префикс двусмысленного имени столбца с именем таблицы:

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, dato являются уникальными именами столбцов)

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

1 голос
/ 28 ноября 2010

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

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)

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

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

...