|
|
1
98
不要混合使用ANSI-89样式和ANSI-92样式的连接。它们具有不同的优先级,这可能导致混淆错误,这就是这里发生的情况。您的查询解释如下:
在上面,在考虑逗号样式的联接之前,首先计算使用JOIN关键字的联接。在那一点上,桌子
从 MySQL manual :
我建议你 总是 使用ANSI-92样式的联接,即使用联接关键字:
相关: |
|
|
2
10
如前所述,有一个优先问题,使用逗号运算符连接,其中将执行左连接,因此对表别名的引用在那时不会存在。尽管可以通过该语句隐式地告诉MySQL使用JOIN,但也可以告诉MySQL首先计算逗号连接的表,然后执行left JOIN:
|
|
|
3
1
我遇到了这个错误未知列,差异在于查询是通过会话内的HQL生成的。executeQuery(“select id,name,sum(paid),cust type from cust group by brand”)这就是为什么必须手动键入inner join或join关键字不是一个选项,因为生成它的是HQL。 它生成如下查询sumthing:
它写着“未知的c.custTypeId”列,而我有101%的把握它有这个列。 我的班级/关系:
问题在于“fromcustomer,custType”行中的逗号。上面的答案应该是JOIN这个词。但是因为它是HQL并且正在生成,所以我不能这样做。我所做的是通过查询修改的,我键入的不是select custType
我知道这是基本的,但对于像我这样的第一次,这是一场斗争。 |
|
|
Bard.Mus · 迁移后的数据库字符集环境 1 年前 |
|
Efannnnnn · 将Id数据存储到任何页面 1 年前 |
|
|
yooooo · 用于在块中删除的存储过程-LOOP未执行 1 年前 |
|
John Beasley · 更新一定数量记录的连续日期 1 年前 |
|
|
ColinM · MySQL以前的结果查询返回不正确的值 1 年前 |
|
Sergey_Z · MySQL只需无条件连接2个表和交叉连接 1 年前 |