繁体   English   中英

MySQL 显示未满足所有条件的结果

MySQL Show results where not all conditions are met

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有三张桌子

表 A(订单)

 order_number     order_id
     9999            123

表 B (order_items)

order_id    product_id    price
   123         111          10
   123         112          11
   123         113          12
   123         114          13

和表 C(product_customfields)

product_id    customfield_id      customfield_value
  111              10                   A
  112              10                   A
  113              10                   B
  113              9                   xyz

结果,我想获得 product_id 的价格,如果产品具有 customfield_id = 10 ,还有 customfield_value

因此,在这种情况下,我期望:

product_id   price    customfield_value
    111       10            A
    112       11            A
    113       12            B
    114       13          (empty)

一般来说,我的查询如下所示:

select B.product_id, B.price, C.customfield_value from orders A 
left join order_items B on A.order_id=B.order_id 
left join product_customfields C on B.product_id=C.product_id where A.order_number=9999 and C.customfield_id = 10

当然,结果不会显示 product_id 114,因为它没有在数据库表中分配值为“10”的 customfield_id

不过,有人可以指出我正确的方向,如果它们未分配给表中的条件,如何构建查询以同时显示订单的所有产品。

谢谢

2 个回复

select B.product_id, B.price, C.customfield_value from orders A 
left join order_items B on A.order_id=B.order_id 
left join product_customfields C on B.product_id=C.product_id 
where A.order_number=9999 and (C.customfield_id = 10 or C.customfield_id IS NULL)

解决了你的问题?

您需要这样的product_custom_fields左外连接

select B.product_id, B.price, C.customfield_value 
from orders A 
left join order_items B 
     on A.order_id=B.order_id 
left outer join product_customfields C 
     on B.product_id=C.product_id 
where A.order_number=9999 and 
      (C.customfield_id = 10 or C.customfield_id IS NULL)
1 过滤数据库并显示满足 2 个条件的结果

我正在尝试过滤我的 sqlite 数据库以仅显示满足多个条件的结果。 我的意思是,在我提供的初始化选择的代码中,我想选择标题等于变量data行,并且列KEY_TRANSACTION_PLACE不为空。 那么,我应该如何更正我的 selection/selectionArgs 以过滤这些结果? ...

3 在不符合条件的情况下,按ID删除所有观察

我有一个包含约400万条交易记录的数据集,按Customer_No分组(每个Customer_No由1个或多个交易组成,由顺序计数器表示)。 每个事务都有一个Type代码,我只对使用特定事务类型组合的客户感兴趣。 无论是自己加入表还是使用Proc Sql中的EXISTS,都无法有效地评估事务 ...

2015-03-14 02:25:16 4 142   sas
4 通过查询选择所有列均满足条件的位置

假设我在Pandas中有一个由几列组成的数据框。 我想选择数据框的子集,其中所有列都在两个值min和max 。 如何使用query做到这一点? 我是否需要在表达式中一一指定每个列名,例如: 除了查询之外,我还有什么其他选择? 也许使用直接满足条件的索引? ...

5 IF AND语句满足所有三个条件

我有一个正在使用的IF AND语句。 我试图确保满足所有条件,以使其成为现实。 我对此不满意。 请在下面查看我的公式: 问题:上面的公式未返回正确的值。 例如,上面的公式应返回“ Found the guy”,即所有条件均已满足。 ...

6 满足所有条件的VBA中的汇总

我正在尝试在VBA中编写以下代码: 嵌套的If和Countif在那里,因此Sumif会忽略用户不需要的任何条件(用户输入A:B36),但仍会对满足所有其余条件的单元格求和。 我在VBA中编写了以下内容(以相同的方式确定了条件1-3): sumifs是对至少满足提供的条件之一 ...

7 Select 满足条件的数据库表中的所有结果,将结果限制为 6 - 如果结果小于 6 也显示 advert/div

我的数据库中有一个名为 users 的表。 目前我的表用户中有 5 个用户。 我正在尝试使用以下代码从我的表中列出最多 6 个用户: 我的查询只获取 5 个结果,因为这就是表中的全部内容,如下所示: 如果表中没有至少 6 个用户,那么我仍然希望显示 6 个项目,替代方案是一种广告 div - 像这 ...

8 显示满足条件的所有行

我浏览了堆栈溢出,但没有找到这个问题的答案,但是我找到了类似情况的答案,并试图将其应用于我的情况,但没有成功。 所以我想查看满足条件 a = b 的所有变量,其中 a 和 b 是数字。 数据: 但是,这不会导致我想要的 output 显示所有满足 a = b 的人。 ...

9 mysql - 在其他表中查找满足条件的记录

我有两张桌子 表A 表B 这些表具有相同的结构但包含不同的数据。 我希望我的查询从表 B 中选择 *,其中地址、邮编和城市与表 A 中的相同。 示例 Adam(来自表 A)住在伦敦的 Bigstreet 1, 112233。 我希望查询从表 B 返回 * 具有完全相同的地址、邮编和城市, ...

2017-01-24 23:05:35 1 85   mysql/ sql
10 满足动态表上所有条件的内部联接

第一次在这里问一个问题,所以我会尽可能地尝试和总结。 我正在研究用于搜索 function 的关键字系统。 我有在运行时通过参数制定并在前端选择的标准。 我设法创建了一个系统,其中使用特殊字符来定义搜索的工作方式,用于“或”我使用 ('|') 和“和”我使用 ('&') 但无法获得正确的逻辑 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM