【问题标题】:why wont multiple where clause work为什么多个where子句不起作用
【发布时间】:2023-03-21 18:56:01
【问题描述】:

我有 2 个参数($memberparamter$rest_id),我从用户那里获得。但是每次我的服务器运行该语句时,它都找不到任何东西。我已经仔细检查了我的数据库,它说所需的输出确实存在。如果我删除其中一个 where 子句,效果很好。

我做错了吗?

这是我的sql语句:

  SELECT 
        eso.order_id as order_id,
        eso.member_id as member_id, 
        esoi.title as title, 
        dl.used_date as checked,
        dl.order_item_id as order_item_id 
        FROM exp_store_orders as eso
        inner join exp_store_order_items as esoi on (eso.order_id = esoi.order_id)
        inner join exp_deal_keys as dl on dl.order_item_id = esoi.order_item_id
        where eso.member_id = '$memberparamter' and esoi.entry_id = '$rest_id'
        and eso.order_paid > 0
        group BY eso.transaction_id 
        ORDER BY eso.transaction_id desc

【问题讨论】:

  • 有什么错误信息吗?
  • 我们必须能够看到您正在使用的数据和参数。你能在 SQLFiddle 上放一些示例数据吗?
  • 确保您的 $memberparamter$rest_id 获得正确的值,然后您可以运行 sql 来查看是否获得任何行。
  • Member_Id 和 entry_ID 是数字还是字符串?

标签: mysql join where-clause


【解决方案1】:

您需要指定哪个 where 子句修复了该问题。如果我推测的话,我猜你拼错了'$memberparamter',它真的应该是'$memberparameter'——相信你会在你的代码中正确拼写“参数”。

【讨论】:

    【解决方案2】:

    是导致问题的 GROUP BY。当您不聚合任何 SELECT 列时,为什么要使用 GROUP BY?

    【讨论】:

      猜你喜欢
      • 2019-07-12
      • 2016-07-24
      • 1970-01-01
      • 2011-11-16
      • 1970-01-01
      • 2019-06-15
      • 1970-01-01
      • 1970-01-01
      • 2017-11-10
      相关资源
      最近更新 更多