问题标签 [relational-division]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1034 浏览

sql - 用严格的关系代数编写查询(AS IN NOT SQL/MYSQL)

所以这里有三个关系:

表成员

成员(member_id、姓名、城市、州)

其中 member_id 是主键

借来的表

借(borrow_id,lib_id,member_id)

其中borrow_id 是主键

表库

库(lib_id、lib_address、lib_city、lib_state)

其中 lib_id 是主键

lib_id 和 member_id 都是外键

因此,我正在尝试编写一个查询,以查找在他们所在城市的每个图书馆借过书的成员的所有 member_id。这意味着

我正在考虑使用关系除法。例如,您有一个由 member_id 和他们借书的所有 lib_id 组成的关系。然后您将其除以包含该成员所在城市中所有 lib_id 的关系。

但是,我对如何用关系代数术语来写这个感到困惑。

在 mysql/sql 中这很容易,但转换为关系代数是我卡住的地方。

0 投票
1 回答
1495 浏览

sql - 关于显示包含列表中所有值的分组行的 SQL 查询

SQL 查询

结果应该是 1001 因为它得到的所有值都与订单表匹配。
PRODUCT 表可能会随着时间而改变。
我想知道谁从我这里购买了所有产品。
谢谢!

0 投票
2 回答
138 浏览

sql - 包含所有匹配项的简单 SQL 选择

SQL问题:我有两列的表:ProductIdCatId

我想选择属于所有传入CatIds的产品。

例如这是我的表:

现在,如果我通过2,3,4结果应该是1129.

如果我通过2,3结果应该是1130(不是 1129,因为它应该属于所有通过的 CatId,不少于 - 不多)

知道如何实现吗?不能工作IN。with不会达到目的。ANDINOR

谢谢。

0 投票
2 回答
69 浏览

sql - PostgreSQL - 如何查询“结果全部”?

我是 PostgreSQL 新手,但对以下查询有疑问:

这个查询基本上是有效的——但在“relevant_mannschaften”中,我目前正在选择每个 mannschaft,它已经到了一个至少有 1 个 bergefahrzeug 的相关的einsatz。

而不是这个,我想选择每个 mannschaft 到“relevant_mannschaften”,这些 mannschaft 已经从 bergefahrzeug 到了一个相关的 einsatz WITH EACH。

有人知道如何制定这种变化吗?

0 投票
3 回答
77 浏览

sql - 用不同的值查询不同的ID?

我正在尝试为高尔夫数据库编写查询。statisticID = 1它需要返回有ap2sStatistic > 65和也有statisticID = 3的玩家p2sStatistic > 295
一个statisticID是行驶距离,另一个是准确性等。我尝试了以下方法,但它不起作用,似乎无法在网上找到答案。如果不进行视图,我将如何处理?

http://i.imgur.com/o8epk.png - db 的图片

试图得到它只是输出满足这两个条件的玩家列表。

0 投票
1 回答
286 浏览

sql - 具有相同属性的“列表”转置表

是否可以转置具有重复列的表?

现有表:

交叉表或解决方案基于

在这种情况下不适用,因为总是匹配重复属性的最后一次出现。

我想对问题正文进行搜索,但如果没有转置表,我不知道该怎么做。
例如,我想在哪里找到 user_idquestion1='...' AND question2='...'

0 投票
2 回答
513 浏览

sql - 棘手的 sql 查询 - 寻找替代供应商(关系部门)

这是我从一本书中得到的一个问题(不记得是哪个),它是这样的:

你有三个表:

  • 供应商( supId, name)
  • 产品( prodId, name)
  • 库存( supId, prodId)

您需要通过一次查询找到所有在其库存中拥有供应商 X 拥有的所有产品(或更多)的供应商(假设供应商 X 是具有 的供应商supId=1)。

(所以如果供应商 1 在他的库存中有香蕉和苹果,你需要找到所有至少有香蕉和苹果的供应商)

您只能使用标准 SQL(包括连接)。

显然这是一个已知问题/问题,您应该查看这个问题: How to filter SQL results in a has-many-through relationship (优秀的解决方案和分析)

0 投票
2 回答
898 浏览

mysql - MySQL从与数组匹配的表中获取所有相关ID

如果它们与数组中的所有项目匹配,我在尝试从表中检索所有产品 ID 时遇到问题,在这种情况下,仅当产品包含用户搜索的所有成分时才返回产品。

表看起来像这样

我从存储主要信息的产品表中加入此表。查询的目的应该是仅在所有成分 ID 与给定数组匹配时才检索产品 ID。我试过使用WHERE ingredientID IN(1,5,6),但结果总是一个 OR 语句,返回匹配任何成分的每个 ID。例如,如果我通过 (1,5,6) 或 (5,6) 产品 ID 411 应该返回,但如果我通过 (2,5,6) 它不应该返回。

我尝试的查询看起来像这样(简化,它是 5 方式连接到其他关系(如品牌和类别)的一部分)

但结果也包含 418。我如何让它匹配?我希望我能够以一种可以理解的方式描述这个问题,我真的很难绕着它问一个问题。

0 投票
7 回答
90 浏览

mysql - IN 用于许多元素

我有桌子:

表站点

表格小部件

表站点小部件

我想获得所有带有评论 (2) 和邮件 (4) 的网站。

我尝试:

但这让我返回 stackoverflow (2, 4 - OK), google.com (2 - NOT OK - without 4), yahoo.com (4 - NOT OK, without 2) 和 cnn.com (2, 4 - OK)。我怎样才能获得所有带有 2 和 4 的网站?永远在一起,而不是一个人。

0 投票
1 回答
943 浏览

mysql - MYSQL 选择计数关系除法

我在 mysql 在此处输入图像描述 1 中有这个表。是否可以选择一个计数 - ALL 相同 entity_id where field_tags_tid=2 and field_tags_tid=7

在此示例中,结果将为 1,因为只有 entity_id=6 匹配 field_tags_tid=2 和 field_tags_tid=7