左连接不明确?

发布于 2024-10-05 00:28:09 字数 657 浏览 2 评论 0原文

所以我正在努力解决我猜是一个非常简单的问题。我已经进行了一些搜索,但到目前为止我找到的解决方案都无法解决我的问题。

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

这自然会产生“不明确的错误”,因为“arrangement_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 * 时,查询将按预期工作。尽管这并不是我要使用查询的真正选项。

预先感谢您的回复。

so I'm struggling with what I'm guessing is a very simple problem. I've searched around a bit, but none of the solutions I've found so far have worked on my problem.

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

This naturally produces the "ambiguous error", since the column 'arrangement_ID' is present in both tt_arrangement and tt_vaktliste_vakt. Thinking this was easy to fix, I made the following changes:

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)

However, this produced the error "column doesn't exist". And that's where I'm stuck.
Not sure if it matters, but when using SELECT * the query works as intended. Though that is not really an option for what I'm going to use the query for.

In advance, thanks for any replies.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

锦欢 2024-10-12 00:28:09

在不明确的列名前面加上表名:(

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

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

Prefix the ambiguous column name with the tablename:

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) 

(assumes hva, dato are unique column names)

(You can also use aliases, but will still need to prefix ambiguous column names with alias)

握住你手 2024-10-12 00:28:09

您需要为表名指定一个别名,如下所示。

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)

不确定最上面的几行是否正确,因为我不知道你的表结构,所以不知道哪一列来自哪里。

希望这有帮助。

You need to give your table names an alias, like below.

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)

Not sure is the top lines right as i don't know you table structure so can't know which column comes from where.

Hopes this helps.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文