Mysql 连接的正确语法
我对phpmyadmin语法有问题。我的问题是: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
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。