尝试使用mysql连接4个表
我试图加入4个表,但有问题。下面列出了我的代码 我收到的错误是尝试使用mysql连接4个表,sql,mysql,phpmyadmin,Sql,Mysql,Phpmyadmin,我试图加入4个表,但有问题。下面列出了我的代码 我收到的错误是 #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ON advancedcatalog_font_type.id = advancedcatalog_dimensions.font_type_id)
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ON advancedcatalog_font_type.id = advancedcatalog_dimensions.font_type_id) LEFT ' at line 6
高级目录尺寸
高级目录字体大小
高级目录字体类型
高级目录信
有效的查询:
SELECT advancedcatalog_letter.letter,
advancedcatalog_dimensions.dimensions,
advancedcatalog_font_type.font_name
FROM (advancedcatalog_dimensions
LEFT JOIN advancedcatalog_letter ON advancedcatalog_dimensions.letter_id = advancedcatalog_letter.id)
LEFT JOIN advancedcatalog_font_type ON advancedcatalog_font_type.id = advancedcatalog_dimensions.font_type_id
LIMIT 0 , 400
不起作用的查询:
SELECT advancedcatalog_letter.letter,
advancedcatalog_dimensions.dimensions,
advancedcatalog_font_type.font_name
FROM (advancedcatalog_dimensions
LEFT JOIN advancedcatalog_letter ON advancedcatalog_dimensions.letter_id = advancedcatalog_letter.id)
LEFT JOIN (advancedcatalog_font_type ON advancedcatalog_font_type.id = advancedcatalog_dimensions.font_type_id)
LEFT JOIN advancedcatalog_font_size ON advancedcatalog_font_size.id = advancedcatalog_dimensions.font_size_id
advancedcatalog\u维度。font\u size\u id
不存在,您正在第二次查询中引用它。advancedcatalog\u维度。font\u size\u id
不存在,您正在第二次查询中引用它。在第二次查询中使用别名可能会使您的生活更轻松查询--advancedcatalog\u字母
可以缩写为l
,而不会混淆,advancedcatalog\u字体
=>ft
,等等。引用错误也会有所帮助--“有问题”的范围从语法错误到数据不正确。此外,对于这两个示例,连接条件中都不需要括号。它们会专门围绕连接条件(在“ON”之后的内容),而不是封装表名声明……您是对的。是我的错。我在上面列出了错误,它可能会使您在查询中更容易为表名命名--advancedcatalog\u字母
可以缩写为l
,而不会混淆,advancedcatalog\u字体
=>ft
,等等。引用错误也会有所帮助--“有问题”的范围从语法错误到数据不正确。此外,对于这两个示例,连接条件中都不需要括号。它们会专门围绕连接条件(在“ON”之后的内容),而不是封装表名声明……您是对的。是我的错。我在道歉上面列出了错误。那是我的错误。font\u size\u id确实存在于表格中,可能是您的括号-删除所有括号。您是对的。非常感谢。我正在学习一个使用括号的教程,所以我想就是这样做的。但我想知道为什么它与2左连接,但不是我们3。我的道歉。那是我的错误。font\u size\u id确实存在于表格中,可能是您的括号-删除所有括号。您是对的。非常感谢。我正在学习一个使用括号的教程,所以我想就是这样做的。但我想知道为什么它只适用于2个左连接,而不适用于3个。
id |font_name |
--------------------------
1 | |
2 | |
3 | |
4 | |
id |casing | letter |
------------------------------------------------
1 | | |
2 | | |
3 | | |
4 | | |
SELECT advancedcatalog_letter.letter,
advancedcatalog_dimensions.dimensions,
advancedcatalog_font_type.font_name
FROM (advancedcatalog_dimensions
LEFT JOIN advancedcatalog_letter ON advancedcatalog_dimensions.letter_id = advancedcatalog_letter.id)
LEFT JOIN advancedcatalog_font_type ON advancedcatalog_font_type.id = advancedcatalog_dimensions.font_type_id
LIMIT 0 , 400
SELECT advancedcatalog_letter.letter,
advancedcatalog_dimensions.dimensions,
advancedcatalog_font_type.font_name
FROM (advancedcatalog_dimensions
LEFT JOIN advancedcatalog_letter ON advancedcatalog_dimensions.letter_id = advancedcatalog_letter.id)
LEFT JOIN (advancedcatalog_font_type ON advancedcatalog_font_type.id = advancedcatalog_dimensions.font_type_id)
LEFT JOIN advancedcatalog_font_size ON advancedcatalog_font_size.id = advancedcatalog_dimensions.font_size_id