【发布时间】:2014-07-13 09:03:24
【问题描述】:
我有 2 张桌子 表A
col1 col2 col3 col4 col5
1 007 .. .. ..
2 006 .. .. ..
3 008 .. .. ..
表 B
col1 col7 col8 col9 many columns
2 A AA
3 B BB
SELECT col2,col8,col9 FROM table A natural join table B 不返回任何行
两个表中的col1 具有相同的名称、数据类型并且都是主键
我也试过了
SELECT col2,col8,col9 FROM table A natural join table B using (col1)
上面得到 #1064 错误。
SELECT col8,col2,col9 FROM table A join table B ON A.col1=B.col1
以上返回所需的结果。 为什么自然连接不返回任何行?
如果我使用
SELECT col2,col8,col9
FROM table A
JOIN table B
LIMIT 0 , 30
我得到以下结果
col8 col2 col9
A 007 AA
B 007 BB
A 006 AA
B 006 BB
A 008 AA
B 008 BB
【问题讨论】:
-
你可能已经检查过了,但如果你没有检查过,#1064 错误代码通常是指使用保留字或在字段中插入不兼容的类型(你没有这样做)或您的语句中还有其他一些语法错误:查看此链接 inmotionhosting.com/support/website/database-troubleshooting/… 。可能是在您的真实代码中,您正在执行其中之一。找到解决方案后能否发布...
-
@Davit 让我检查保留字谢谢,如果我得到解决方案会发布它
-
@Davit 错误与保留关键字无关,请看下面我的回答。
标签: php mysql sql join jointable