首页 > 解决方案 > 我收到一个错误,我不确定它是不是语法不好,或者我是否受到限制

问题描述

我要加入两个表,其中一个有一个复合键customer_order

这是我使用的语法是否可以尝试使用逗号从复合键中选择第二个 PK?

SELECT cus.first_name, cus.last_name, co.order_id FROM customer cus LEFT JOIN cust_order co ON cus.cust_id = co.order_id, co.cust_id;

我收到此错误消息

ERROR 1142 (42000): SELECT command denied to user 's2981938'@'localhost' for table 'cust_id'

我知道它说我被拒绝了,但这是因为语法错误还是我受到限制

因为当我使用这个 synatx

SELECT cus.first_name, cus.last_name, co.order_id FROM customer cus LEFT JOIN cust_order co ON cus.cust_id = co.order_id;

我得到了名字和姓氏,但所有行的订单 ID 都是空的???

标签: mysql

解决方案


我尝试了您的第一个查询,但它不起作用

SELECT cus.first_name, cus.last_name, co.order_id 
FROM customer cus LEFT JOIN cust_order co ON cus.cust_id = co.order_id, co.cust_id;

dbfiddle

您的2nd查询似乎不正确。您应该基于cust_id. 用于join仅显示customers带有orders.

select cus.first_name, cus.last_name, co.order_id 
FROM customer cus 
inner join cust_order co ON cus.cust_id = co.cust_id 

推荐阅读