【问题标题】:Show the list of all product's names ordered along with first and last names of the customers显示订购的所有产品名称列表以及客户的名字和姓氏
【发布时间】:2019-12-22 03:20:49
【问题描述】:

我正在做一个练习,但我被困住了。有 2 个表:

  • 客户(ID、名字、姓氏、地址)
  • 订单(id、product_name、product_price、date_order DATE、id_customer、金额)

查询:

SELECT Orders.product_name, Customers.firstname, Customers.lastname
FROM Orders INNER JOIN
     Customers
     ON Orders.id_customer=Customers.id
ORDER BY Orders.id;

预期结果:

显示订购的所有产品名称的列表以及客户的名字和姓氏。

仅在结果中包括那些在数据库中没有地址的客户,并按Orders.id 对数据进行排序。

【问题讨论】:

标签: mysql sql adminer


【解决方案1】:

看起来你已经很接近了。你只需要一个WHERE 子句来满足这个要求:

仅将那些在数据库中没有地址的客户包含到结果中

试试这个:

SELECT Orders.product_name, Customers.firstname, Customers.lastname
FROM Orders INNER JOIN Customers ON Orders.id_customer = Customers.id
WHERE address IS NULL OR address = ''
ORDER BY Orders.id;

【讨论】:

    【解决方案2】:

    再添加一个地址条件为空

       SELECT Orders.product_name, 
         Customers.firstname, 
        Customers.lastname FROM Orders 
        INNER JOIN Customers ON 
        Orders.id_customer=Customers.id 
        and  Customers.address IS NULL
        ORDER BY Orders.id;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-23
      • 2016-04-28
      • 1970-01-01
      • 1970-01-01
      • 2016-08-27
      • 1970-01-01
      • 2018-04-30
      相关资源
      最近更新 更多