问题标签 [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 投票
3 回答
88 浏览

php - 从多对多表中选择

我想获取具有某些多个标签的帖子的 post_ID 和缩略图。我的表格如下:

我目前使用这样的东西,但它不起作用:我首先将帖子的所有标签放在一个数组中,然后比较它们以查找帖子是否包含所有提到的 3 个标签。

我需要加入或组或什么?我是 SQL 和 PHP 的新手。非常感谢。

0 投票
5 回答
4687 浏览

mysql - 找到一对上完全相同的课程的学生

studentID我必须找到一对学生,他们从具有和的表中选择完全相同的课程courseID

查询应该返回(1, 3)
结果也不应该有重复的行,例如(1,3)(3,1)

0 投票
1 回答
235 浏览

sql - Rails has_and_belongs_to_many 找到共同的独特对象

我有两个模型,对话和电话,两者都有彼此。电话可以有很多对话,对话可以有很多电话(两个或更多)。

当然,还有一个 conversations_phones 连接表。

如果我有两个或更多电话对象,我如何找到它们共享的所有对话的列表?问题:对话不能包含任何其他电话(即电话 ID 的数量等于我们搜索的号码)。

我已经能够使用纯 Rails 做到这一点,但它涉及循环每个对话并依靠数据库。不好。

我不介意做纯 SQL;使用模型 ID 应该有助于阻止注入攻击。

我最接近的是:

但它包括与外部电话的对话。我有一种感觉 GROUP BY 和 HAVING COUNT 会有所帮助,我对 SQL 太陌生了。

0 投票
2 回答
279 浏览

sql - 什么是对表执行除法运算的 LINQ 运算符?

为了在表中选择属于特定组的元素,如果元素及其组类型包含在一个表中,并且所有组类型都列在另一个表中,我们对表执行除法。我正在尝试 LINQ 查询来执行相同的操作。请告诉我我该怎么做?

0 投票
3 回答
108 浏览

sql - 交叉引用时 SQL 中的匹配集

我有以下表格:

  • 书籍:书籍清单
  • tags : 标签列表(小说、传记等)
  • xrefbookstags :交叉引用表(一本书有多个标签)

我想做的是给定一组标签,找到标签与该组完全匹配的书。这是我尝试过的:

这给了我一个包含而不是集合的平等。所以我想我应该计算集合中的标签数量并匹配集合的大小。

但这失败了。所以我的问题来了:我可以在这个交叉引用上下文中匹配集合吗?

0 投票
4 回答
240 浏览

mysql - 查找一个表中其他两个表中的所有行

我正在努力解决如何对此进行查询。我有三张桌子……配料、食谱和商店。我正在尝试构建一个查询,该查询将告诉我可以从商店的可用原料中制作哪些食谱。我的桌子是:

鉴于上述情况,我想构建一个查询,在其中我给它提供商店名称(例如沃尔玛),它会生成我可以从沃尔玛(芝士汉堡和意大利面)的可用原料中制作的食谱列表。

下面是创建这些表的 SQL:

0 投票
3 回答
1372 浏览

sql - 我需要为每个单词的 SQL AND 条件使用逗号分隔的字符串

所以我有一个参数。让我们说:

我的表中有一个名为 [Tags] 的字段

假设一个特定的行该字段包含“Red,Large,New,SomethingElse,AndSomethingElse”

我怎样才能将其分开以基本上实现以下逻辑,我将输入以进行理解,但我知道这是错误的:

但它知道在哪里停下来吗?知道只有一个字吗?还是两个?还是三个?

工作流程:

有人单击一个标签,数据集就会按该标签过滤。他们单击另一个,标签被附加到搜索框,然后数据集被这两个标签过滤,等等。

谢谢!

更新:

这是基于产品的情况。

  1. 创建产品时,创建者可以输入以逗号分隔的搜索标签。
  2. 插入产品时,搜索标签会插入到名为 ProductTags (ProductID, TagID) 的单独表中

因此,在 Product 表中,我有一个字段,它们由字符串分隔,以便在应用程序端显示,并且这些相同的标签也可以在 ProductTag 表中找到,基于 ProductID 由行分隔。

我不明白的是,如果搜索中的所有标签都存在于该产品,如何将条件放在提供结果的选择中。

我认为只使用逗号分隔的字段会更容易,但也许我应该使用相应的表(ProductTags)

0 投票
1 回答
7465 浏览

sql - 关系除法 - SQL

我有 3 张桌子。

Owner(owner_id, name)
House(code, owner_id, price)
Buyer(buyer_id, name)
Bought(buyer_id, code, price_bought, date_bought)

我有以下查询:
列出从某个业主那里购买所有房屋的买家的姓名?

我知道如何查找是否有人从特定所有者那里购买了所有房屋(例如 id = 1 的所有者):

我怎样才能使这项工作适用于所有业主?

0 投票
1 回答
1902 浏览

sql - 一次查询中的 PostgreSQL 条件合取和析取

如何创建一个查询来选择给定特征的产品,其中特征语句由“和”或“或”条件形成,具体取决于它们所属的组?

情况描述

  1. 有一个产品商店。
  2. 产品可能有功能,也可能没有。
  3. 客户寻找产品的特定功能,这意味着填写表格并发送一系列功能 ID。
  4. 在数据库中,每个特征只属于一组特征。
  5. 第一组(析取属性为真,称为“OR”)允许在其中一个特征与客户提交的任何特征匹配时显示产品。
    示例:选择形状:圆形、方形、三角形显示圆形或正方形或三角形的产品。
  6. 第二组(析取属性为假,称为“AND”)仅在产品具有客户提交的所有特征时才允许显示产品。
    示例:选择颜色:红、绿、蓝显示产品为红绿蓝。

测试环境

http://sqlfiddle.com/#!12/f4db7

“或”查询
除了那些没有功能的产品外,它可以工作。

“AND”查询
无法使用此查询,因为不知道析取为假的特征数量。

0 投票
2 回答
68 浏览

sql - 不确定此 SQL 查询的 where 子句

我的目标是返回在旧金山和洛杉矶都有员工的公司名称列表。到目前为止,这是我的查询以及架构:

我知道现在,我的查询正在返回所有员工的公司列表,这些公司的员工要么住在旧金山,要么住在洛杉矶,或者两者兼而有之……在 where 上同时使用 AND 和 OR 的方法是什么条款,以便只获得在两个城市都有员工的公司?

谢谢!