【问题标题】:Find records by specific two names mysql通过特定的两个名称查找记录mysql
【发布时间】:2016-05-13 06:00:04
【问题描述】:

我想通过单个列中的两个特定名称获取记录,但此查询对我不起作用,

SELECT * 
FROM orders_custom oc 
    INNER JOIN group_options go 
    ON oc.group_option_id = go.group_option_id 
    WHERE orderedProduct_id = '40476' 
        AND go.is_default = 1 
        AND oc.group_name = 'size' 
        AND oc.group_name = 'base'

正确的写法是什么?

【问题讨论】:

  • 什么是orderedProduct_id,哪个表有这个字段?
  • orders_custom 表有这个字段。

标签: php mysql join inner-join


【解决方案1】:

试试这个查询

SELECT * FROM orders_custom oc 
INNER JOIN group_options go ON oc.group_option_id = go.group_option_id 
WHERE orderedProduct_id = '40476' 
    AND go.is_default = 1 
    AND oc.group_name in ('size','base')

或者您可以在OR 子句中指定名称条件

AND (oc.group_name = 'size' OR oc.group_name = 'base' OR ...)

【讨论】:

    【解决方案2】:

    最后一个oc.group_name你应该使用ORIN

    【讨论】:

      【解决方案3】:

      你需要使用OR,见下例:

      SELECT * FROM orders_custom oc 
      INNER JOIN group_options go 
          ON oc.group_option_id = go.group_option_id 
      WHERE orderedProduct_id = '40476' AND go.is_default = 1 AND (oc.group_name = 'size' OR oc.group_name = 'base')
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-06-04
        • 1970-01-01
        • 2021-04-07
        • 1970-01-01
        • 1970-01-01
        • 2013-06-15
        • 1970-01-01
        相关资源
        最近更新 更多