等联接的MySQL语法错误

时间:2019-04-02 03:05:23

标签: mysql

我想用等参来解决这两个问题

  1. 对于每个客户订单,请列出订单ID,订单日期,order_source_id,来源说明以及客户的名字和姓氏。
  2. 对于shipping_line中的每一行,显示shipment_id,inv_id,ship_quantity,date_expected和date_received。

这是我的语法,但是显示错误。

1。

using u16stream = basic_stringstream<char16_t>

2。

SELECT order_id,order_date,order_source_id,source_desc,first,last    
FROM   customer,cust_order,order_source    
WHERE  (cust_order.order_source_id = order_source.order_source_id)    
AND    cust_order.cust_id = customer.cust_id;

1 个答案:

答案 0 :(得分:0)

您可能会有不明确的列,因此您应该为每列添加相关的表名

SELECT cust_order.order_id
    , cust_order.order_date
    , cust_order.order_source_id
    , order_source.source_desc
    , customer.first
    , customer.last    
FROM   customer 
INNER JOIN cust_order ON cust_order.cust_id = customer.cust_id
INNER JOIN order_source  ON cust_order.order_source_id = order_source.order_source_id  

而且您不应该使用基于where子句的旧的(1992年以前的)隐式连接sintax,而应使用显式的连接类

(第二个查询的问题相同)