【问题标题】:How to resolve operand should contain 1 column(s) for inner join? [closed]如何解决操作数应包含 1 列用于内部连接? [关闭]
【发布时间】:2019-09-05 10:57:30
【问题描述】:

我是新的 MySQL。 当我执行以下查询时,我得到操作数应该包含 1 列错误。

select a.status, a.order_number, a.net_order_amt, a.retailer_id, a.order_date
from (select status, order_number, net_order_amt, retailer_id, 
        (order_date/1000,'%Y-%m-%d') as order_date 
      from Order
      where FROM_UNIXTIME(order_date/1000,'%Y-%m-%d') between '2019-08-31' and '2019-08-31'
     ) as a 
INNER JOIN Retailer AS r on a.retailer_id = r.retailer_id;

我是 MySql 的新手程序员,我无法解决错误。谁能帮我解决这个问题。

【问题讨论】:

标签: mysql sql inner-join


【解决方案1】:

您没有在导致此问题的选择中使用 from_unixtime 函数

select a.status, a.order_number, a.net_order_amt, a.retailer_id, a.order_date
from (select status, order_number, net_order_amt, retailer_id, 
        FROM_UNIXTIME(order_date/1000,'%Y-%m-%d') as order_date 
      from Order
      where FROM_UNIXTIME(order_date/1000,'%Y-%m-%d') between '2019-08-31' and '2019-08-31'
     ) as a 
INNER JOIN Retailer AS r on a.retailer_id = r.retailer_id;

使用可以解决错误的函数。

【讨论】:

    【解决方案2】:
         ..... (order_date/1000,'%Y-%m-%d') as 
        order_date.....
    

    ypur 查询的这一部分导致该错误向其添加函数名称,例如 to_date (order_date/1000,'%Y-%m-%d') 或我在您的 where 子句中看到的 FROM_UNIXTIME(order_date/1000,'%Y-%m-%d')

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-08
      • 1970-01-01
      • 2017-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      • 2012-12-12
      相关资源
      最近更新 更多