我的phpmyadmin语法有问题。这是我的疑问:
SELECT
CONCAT_WS(',', visitor_name, visitor_email, visitor_phone) AS visitor_info,
session_geoip_country,
session_geoip_city,
visitor_chats_count,
agents_names,
chat_id,
SUBSTRING( visitor_description, 1, 100 ) AS Manager_note
FROM
client_jivo_chat_finished
INNER JOIN
client_jivo_chat_finished_messages.timestamp, client_jivo_chat_finished_messages.message
ON
client_jivo_chat_finished_messages.chat_id = client_jivo_chat_finished.chat_id
,错误是:
"#1064 - 您的SQL语法出错;查看与您的MySQL服务器版本相对应的手册,以便在“client_jivo_chat_finished_messages.chat_id = client_jivo_chat_finished.chat_i”之间使用正确的语法。在第8行"
答案 0 :(得分:1)
您需要首先理解您尝试做的事情。在INNER JOIN
语法之后有两个表引用,这是不允许的。请查看JOIN
参考手册,了解如何使用它。
简而言之,您已尝试过
SELECT
...
FROM
table1
INNER JOIN
tableA, tableB ON <cond>
如果您想通过INNER
或LEFT
或其他联接加入表格(请再次参阅第一段中链接的手册参考),您必须选择一个表引用,并根据该表引用添加条件。不是两个或更多。
简而言之,
SELECT
...
FROM
table1
INNER JOIN
tableA ON tableA.columnX = table1.columnFoo
INNER JOIN
tableB ON tableB.columnY = table1.columnBar
如果要与另外两个表连接,是正确的语法。 ON
子句之后的条件部分可能会有所不同。
然而,有些人在加入临时表之前先将它组合起来创建一个临时表。这实际上是一种例外做法,只有在需求要求时才有用(或降低复杂性)。
此外,您还尝试使用
INNER JOIN client_jivo_chat_finished_messages.timestamp
您正在尝试使用列而不是引用表进行连接(除非您以这种方式命名表,这是不好的做法)。这可以通过名称中的.
看到,就像
A.Foo = "Check for column named as 'Foo' in table A"
尝试逐步构建查询。首先使用SELECT *
选择整个表格,然后尝试加入它。然后继续。如果您获得了包含所需字段的正确表输出,请重新定义SELECT
语句以选择要使用的列。
答案 1 :(得分:1)
您加入表格列时语法不正确。这是修改后的版本。希望这有效。
SELECT
CONCAT_WS(',', visitor_name, visitor_email, visitor_phone) AS visitor_info,
session_geoip_country,
session_geoip_city,
visitor_chats_count,
agents_names,
chat_id,
SUBSTRING( visitor_description, 1, 100 ) AS Manager_note
FROM
client_jivo_chat_finished
INNER JOIN
client_jivo_chat_finished_messages
ON
client_jivo_chat_finished_messages.chat_id = client_jivo_chat_finished.chat_id
INNER JOIN
client_jivo_chat_finished_messages.timestamp, client_jivo_chat_finished_messages.message
答案 2 :(得分:0)
选择
CONCAT_WS(',',visitor_name,visitor_email,visitor_phone)为visitor_info-detail,
session_geoip_country,
session_geoip_city,
visitor_chats_count,
agents_names,
chat_id,
SUBSTRING(visitor_description,1,100)AS manager_note
从
client_jivo_chat_finished
内部联接
client_jivo_chat_finished_messages
ON client_jivo_chat_finished_messages.chat_id = client_jivo_chat_finished.chat_id