0

所以我正在努力解决我猜是一个非常简单的问题。我搜索了一下,但到目前为止我发现的解决方案都没有解决我的问题。

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

这自然会产生“模糊错误”,因为 tt_arrangement 和 tt_vaktliste_vakt 中都存在列“arrangement_ID”。认为这很容易解决,我进行了以下更改:

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 * 时,查询按预期工作。尽管对于我将要使用查询的内容来说,这并不是一个真正的选择。

在此先感谢您的任何回复。

4

2 回答 2

3

用表名前缀不明确的列名:

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 是唯一的列名)

(您也可以使用别名,但仍需要在不明确的列名前加上别名)

于 2010-11-28T12:29:11.660 回答
1

你需要给你的表名一个别名,如下所示。

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)

不确定顶行是否正确,因为我不知道您的表结构,所以不知道哪一列来自哪里。

希望这会有所帮助。

于 2010-11-28T12:30:35.237 回答