问题标签 [multiple-tables]
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.
mysql - 使用其他表中的 WHERE 计算大多数出现次数
我有一个电影数据库来组织我的收藏,但我也用它来了解更多的 mySQL。在发展过程中,我发现了颠簸(很多),现在我的问题是:
表ACTORS
:
- id_actor
- 姓名
- 性别
表MOVIEACTORES
:
- id_movieactors
- id_movie
- id_actor
我想计算拥有最多电影的演员的前 5 名(前 10 名、前 20 名或其他!),然后是拥有最多电影的女演员的前 5 名!
我有这个:
但是这个代码并没有区分演员和女演员。我觉得解决方案可能很简单,但以我的知识,我现在遥不可及。任何人?
mysql - 如何选择多表结构以获得最快的查询响应
我有一个数据库,我在其中按地理位置列出事件(数据库中目前大约有 100000 个事件)。目前它处于一个很好的规范化模式中:表中的事件tevent
有一个外键fkvenue
,它指向表tvenue
中具有外键的场所fkcity
,依此类推到tregion
and tcountry
。
因此,查找具有最多事件的国家/地区的查询相当复杂,有不少于三个内部连接:
select r.fkcountry,count(distinct e.id) from tevent e
inner join tvenue v on e.fkvenue=v.id
inner join tcity cy on v.fkcity=cy.id
inner join tregion r on cy.fkregion=r.id
group by r.fkcountry order by count(distinct e.id) desc
我正在努力寻找加快速度的方法,我认为直接按国家/地区绘制事件地图可能会有所帮助。我创建了一个 map table teventcountry
,使用以下更简单的结果语法:
select ec.fkcountry,count(distinct e.id) from tevent e inner join teventcountry ec on ec.fkevent=e.id group by ec.fkcountry order by count(distinct e.id) desc
令我惊讶的是,这产生了完全相反的效果:新查询花费的时间几乎是旧的、更复杂的查询的五倍。
有人可以解释一下,或者指出一个很好的资源来帮助我了解多表查询的速度吗?或者甚至告诉我这类事情的首选模式?
(在有人问之前,我已经注意在运行之间进行“重置查询缓存”,以使计时结果有效,是的,我已经正确索引了所有内容!!!!)
谢谢
大卫
entity-framework - 实体框架将多个表映射到一个实体。并发检查
我将一个实体映射到两个表。第一个表有时间戳字段。我想要什么 - 如果我修改第一个表中的字段,它应该检查第一个表是否与时间戳列并发。第二个表不应该更新。如果我修改第二个表,它应该只更新第二个表。第一个表必须保持不变。
如果我为架构中的时间戳字段设置“Concurrecny=None”,这是可行的。如果我为时间戳字段设置“Concurrecny=Fixed”并更改第二个表的属性,它会使用当前值更新第一个表。
如何仅对这两个表之一进行并发检查?
.net - 多个oracle查询问题
我正在尝试从 .NET 页面运行查询,但我似乎在处理多个查询时遇到了一些问题。
我的查询与此类似
SELECT * FROM table1; SELECT * from table2
但是从 .Net 页面执行此操作时,我似乎遇到了无效字符错误。它在 SQL 开发人员中运行良好,但只有在我将其放入我的 .NET 页面时才会失败。
我已将BEGIN
and添加END
到查询中,因为某些网站建议您需要它来运行多个查询,但随后出现以下错误
ORA-06550:第 1 行,第 7 列:PLS-00428:此 SELECT 语句中应有一个 INTO 子句
任何人都可以对此有所了解吗?
提前致谢!
编辑
这是一些代码
sql - 将 MAX 与多个表一起使用
我有四张桌子:产品、电脑、笔记本电脑和打印机。
我需要的是找到价格最高的产品(PC、笔记本电脑或打印机)的型号。这不适用于 case 语句,因为如果两个型号的价格最高,则两者都需要显示,并且使用 case 将只选择一个然后退出 case 语句。我想使用 UNION 运算符来执行此操作,但我不知道该怎么做。这是我到目前为止所拥有的:
但这是不正确的语法,我不知道为什么。有任何想法吗?
mysql - MySQL:如何使用单个查询删除多个表?
我想轻松删除多个表,而无需在删除查询中实际列出表名,并且要删除的表具有前缀“wp_”
.net - 从 Oracle 返回的命名表
我在 .NET 中使用 Oracle 数据库来获取从过程返回的多个表(作为多个 Out 游标)。此数据正在插入到DataSet
. 我遇到的问题是这些表被命名为Table
, Table1
,Table2
等。有没有办法(通过 Oracle 数据适配器或其他方式)在这些表进入之前DataSet
重命名这些表?
sql - 数据库表;将它们分散开来,还是将它们一起归零?
关于数据库设计的快速问题;
鉴于我将User
数据存储在数据库中,我可以识别与用户关联的两种(看似)独立的数据形式;帐户数据和个人资料数据。
大多数配置文件数据是可选的,并且是不必要的(可以,而且经常是NULL
),而帐户数据是用户不可或缺的,他们使用服务的能力(很少或没有记录可以/将是NULL
)
将其拆分为两个表有什么好处1-to-1
吗?仅从设计的角度来看,这似乎是合乎逻辑的,但是在谈论性能时,这是一种常见的(好的)做法吗?
mysql - 需要使用多个表中的条件从多个表中获取数据
我对特定的 SQL 查询有点打嗝。我需要连接来自两个表的数据,同时还通过第三个表来限制数据(但不一定要抓取它)。表格如下:
我需要查找特定组的所有成员的所有费用,但我还想从 MEMBERS 表中获取名字和姓氏。到目前为止,我提出的查询是:
我也试过:
…但两者都没有返回我需要的数据。我确定我想太多了,但我无法终生获得正确的价值观。我不断得到似乎是笛卡尔积的东西——无论如何,它显然返回了太多的行和错误的数据。
php - 从两个表中选择,每个表中的不同列等于 $id ORDER BY 公共列(PHP/MySQL)
我正在尝试从两个表和 ORDER BY 日期(他们都有的列)中选择。一个表(tableA)有一个名为“A”的列,另一个表(tableB)有一个名为“B”的列,我使用array_key_exists()来区分两者(如果“A”键存在,我运行数组通过FunctionA(),如果“B”键存在,我通过 FunctionB()) 运行数组。我只需要 20 个最新的(日期方面的)条目。我需要 SQL 查询来完成此操作。
我已经知道回复将是“如果它们的结构相似,那么你应该只使用一个表”,但我不想这样做,因为 tableA 与 tableB 截然不同(tableA 中有更多列),并且使用单个表来存储数据会导致为 tableB 格式化的条目有很多空列,更不用说由于 tableB 不需要 tableA 的大多数列,这将是一个非常难看的表格式)。
我只想以有序(按日期)的方式并在一个流中显示两个表中的数据。
顺便说一下,我需要选择 WHERE tableA.poster_id = $id 和 tableB.receiver_id = $id。
解决方案:
我正在更新这个,以防万一遇到同样困境的其他人出现。在实现了@Erik A. Brandstadmoen 慷慨地给我的 SQL 查询之后,这基本上就是我的代码最终结果: