Mysql 连接的正确语法

Mysql 连接的正确语法,mysql,phpmyadmin,Mysql,Phpmyadmin,我对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_descr

我对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服务器版本对应的手册,以获取正确的语法,以便在第8行的“ON client_jivo_chat_finished_messages.chat_id=client_jivo_chat_finished.chat_i”附近使用


你首先需要理解你试图做什么。在内部联接语法之后有两个表引用,这是不允许的。请查看如何使用它的参考手册

简言之,你已经试过了

SELECT
    ...
FROM
    table1
INNER JOIN
    tableA, tableB ON <cond>
如果要与另外两个表联接,则是正确的语法。ON子句后面的条件部分可能会有所不同

然而,有些人在加入他们之前先将其合并,从而创建一个临时表。这实际上是一种例外实践,并且只有在需求需要它或为了降低复杂性时才有用

此外,您还尝试使用

INNER JOIN client_jivo_chat_finished_messages.timestamp
您正在尝试使用列而不是引用表进行联接,除非您以这种方式命名表,这是一种不好的做法。这一点可以从中看到。以这个名字,就像

 A.Foo = "Check for column named as 'Foo' in table A"

尝试逐步建立查询。首先使用Select*选择整个表,然后尝试联接它。那就继续吧。如果获得了正确的表输出和所需的字段,请重新定义SELECT语句以选择要使用的列。

您需要首先了解您尝试执行的操作。在内部联接语法之后有两个表引用,这是不允许的。请查看如何使用它的参考手册

简言之,你已经试过了

SELECT
    ...
FROM
    table1
INNER JOIN
    tableA, tableB ON <cond>
如果要与另外两个表联接,则是正确的语法。ON子句后面的条件部分可能会有所不同

然而,有些人在加入他们之前先将其合并,从而创建一个临时表。这实际上是一种例外实践,并且只有在需求需要它或为了降低复杂性时才有用

此外,您还尝试使用

INNER JOIN client_jivo_chat_finished_messages.timestamp
您正在尝试使用列而不是引用表进行联接,除非您以这种方式命名表,这是一种不好的做法。这一点可以从中看到。以这个名字,就像

 A.Foo = "Check for column named as 'Foo' in table A"

尝试逐步建立查询。首先使用Select*选择整个表,然后尝试联接它。那就继续吧。如果获得了正确的表输出和所需的字段,请重新定义SELECT语句以选择要使用的列。

在联接表列时,语法不正确。这是修改后的版本。希望这能奏效

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
你应该把两个表连在一列上。把这部分去掉。 内连接
client_jivo_chat_finished_messages.timestamp,client_jivo_chat_finished_messages.message加入表列时语法不正确。这是修改后的版本。希望这能奏效

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
你应该把两个表连在一列上。把这部分去掉。 内连接 客户端消息。时间戳,客户端消息。消息 CONCAT_WS',',访客姓名,访客电子邮件,访客电话作为访客信息详情, 会议地点:国家, session_geoip_市, 访客数, 你的名字, 聊天室id, 子字符串访客描述,1100作为经理注释 从…起 客户端\u jivo\u聊天\u完成 内连接 客户端\u jivo\u聊天\u完成\u消息 在客户端上,聊天已完成。聊天id=客户端已完成。聊天id

选择 CONCAT_WS',',访客姓名,访客电子邮件,访客电话作为访客信息详情, 会议地点:国家, session_geoip_市, 访客数, 你的名字, 聊天室id, 子字符串访客描述,1100作为经理注释 从…起 客户端\u jivo\u聊天\u完成 内连接 客户端\u jivo\u聊天\u完成\u消息
在client_jivo_chat_finished_messages.chat_id=client_jivo_chat_finished.chat_id

上,您是否按照错误消息详细信息的建议检查了手册?检查并了解了手册中仅包含有关此问题的一般建议。您是否按照错误消息详细信息的建议检查了手册?检查并了解了手册中仅包含关于这个问题的一般建议。这里有一个稍微修改过的版本:选择CONCAT_WS',,visitor_name,visitor_email,visitor_phone作为visitor_信息,session_geoip_country,session_geoip_city,visitor_chats_count,agents_name,client_jivo___chat_finished_messages.chat_id,SUBSTRING visitor_description,1,100作为经理\u来自客户端的备注\u jivo\u chat\u完成内部加入客户端\u jivo\u chat\u完成\u客户端消息\u jivo\u chat\u完成\u消息。chat\u id=客户端\u jivo\u chat\u完成。chat\u id;已将聊天id更改为客户端聊天结束消息。聊天id此处有略微修改的版本:选择CONCAT_WS'、'、访问者名称、访问者电子邮件、访问者电话作为访问者信息、会话地理位置国家、会话地理位置城市、访问者聊天结束消息、代理名称、客户端聊天结束消息。聊天i
d、 子字符串visitor\u description,1100作为经理\u来自客户端\u jivo\u chat\u完成内部连接客户端\u jivo\u chat\u完成\u客户端消息\u jivo\u chat\u完成\u messages.chat\u id=客户端\u jivo\u chat\u完成.chat\u id;已将聊天id更改为客户端聊天结束。聊天id谢谢您的回答。如果我上次错过了smth,我会再看一遍这篇文章。谢谢你的回答。我将再次阅读这篇文章,以防我上次错过了smth。