问题标签 [dynamic-queries]

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 回答
34 浏览

php - 如何确定类中的哪些属性应包含在 UPDATE 动态查询中?

图1:这是一个示例模型类

图2:这是该类的示例使用

如果UPDATE基于figure2player1_id执行查询,则player2_id、 和的值score将被错误地覆盖为零/空值。因此,我需要一种方法从类内部确定某些属性不是通过调用figure2设置的,因此我可以动态更改UPDATE查询以仅更新数据库中的特定字段。还是我接近这个错误?

注意:我知道我可以使用单个array属性来保存所有字段(并使用isset),但这感觉就像它打破了模型的要点并且也是非常特定于 PHP 的(因为该解决方案不能很好地转移到其他像JAVA这样的语言,其中数组是严格类型的?)。我也意识到我可以做我认为 ORM 做的事情并SELECT在执行更新之前进行初始查询(但这似乎非常低效!)

0 投票
1 回答
1037 浏览

javascript - AWQL (AdWords Query Language) Seeking Multiple Range Query (of sorts)

Ok, this may be quite the "what are you actually asking" question so bear with me a bit. As a rule, I'm a .NET and SQL developer. I'm working with AWQL trying to get an adwords script to make a tailored report. Short version, I need to pull from separate date ranges and I'm having issues figuring out how the "compiler" they have deals with it or if even possible to do. In a nutshell I need the data from two months separately compiled into one report. Right now I'm thinking syntax error, but not sure. End goal in geek terms is to the effect of "WHERE(IMPRESSIONS_FROM_THIS_MONTH > IMPRESSIONS_FROM_LAST_MONTH) AND (IMPRESSIONS_FROM_LAST_MONTH > MONTH_BEFORE_THAT). In theory all in the same output (don't care if it's logger or straight to a google doc. I do have the code to put this into a spreadsheet and email me the link), but currently struggling to get it to pull the data. And by struggling I mean a few days of failing lol.

(the variables like gName are there in the full code btw and working until I try compound logic) I'm not sure if the best approach is to query it all at once, or to query separately and somehow splice the results into a single report. AdWords scripting seems to be a lot more restricted than I'm used to and some of the rules it has aren't well documented or explained. Any links or code chunks relevant to this anywhere? Thanks in advance for any help!

0 投票
0 回答
127 浏览

authentication - 如何查看用户是否已经存在于解析中?

我试过这个,但它不起作用

有什么建议吗?

0 投票
1 回答
159 浏览

oracle - 如何在动态查询中使用批量收集?

我的一段代码目前使用以下代码将数据提取到对象中:

现在我已将 select 语句动态生成到变量 var1 中。但是我无法在动态部分实现它。

代码应如下所示:

这将通过立即执行来运行。

0 投票
1 回答
187 浏览

php - 如何在整个应用程序中通过不断增长的查询列表来组织和实施关注点分离和良好的 OOP?

在哪里放置不断增长的查询列表(主要是所有“SELECT”查询)以及如何在我的整个应用程序中正确访问它们?
我正在寻找重构我的应用程序,该应用程序目前在我的应用程序中的所有服务中都有查询。我开始遇到 DRY 问题,其中我有与我已经编写的其他查询类似的大小查询。我也有一些地方我在这些查询上一遍又一遍地重写相同的格式。虽然我不担心替换我选择的数据库,但我确实担心以后优化我的查询,并想知道我是否通过没有更好地组织我的所有查询并将它们保存在某个中心位置而使这几乎不可能实现。我想遵循良好的 OOP 和 SoC 实践。

我当前在我的应用程序中查询的
示例 例如,我有一项服务,它提供某个事件中所有员工的 PDF(或内容)。该服务有一个方法可以接受一些输入(如“排序”、“过滤器”、“分页限制”),并将执行一个包含 10 个表连接的查询(在大多数表连接之前,查询会很好地切分到可管理的行数) JOIN 处理它)并以 PDF 所需的方式格式化结果。

到目前为止
,我的计划是在尝试完美地考虑我的数据库对象方面的需求时遇到了麻烦。我做了很多灵活的查询,并非完全是临时的,而是具有许多 JOIN 和 WHERE 的范围广泛的 SELECT,但我正在尽我所能:

  1. 域对象:我将创建类usersEntityeventsEntity(我的数据库中的每个匹配表)并在其中设置属性,例如,,id等。匹配数据库表字段。我可以创建 getter/setter,以便我可以变异(格式化日期等内容或执行验证)。我可能创建的实体并不真正代表我的数据库中的单个表,但可能代表我发现我在整个应用程序中重复使用的常见数据集合。也许叫它或。namephoneusersCollectionusersEvents

  2. 数据映射器:所以我把所有的 CUD(创建更新删除......不是读取......除了findById)操作并将它们存储在名为usersMapper,eventsMapper等的类中。映射器只接受一种类型的域对象(参见上面的#1)并将处理持久性(可能还有一小组非常基本的读取/选择,如findById($id)or findByEvent($eventId))。

现在这给我留下了越来越多的读取列表(SELECT 查询)以及将它们放在哪里?

我知道的选项,但不足。也许我误解了他们。

假设我有这样的查询

所以我在整个 PHP 社区的博客中看到的是 3 种选择:

  1. 用类似Doctrine2的调用替换我的查询调用。他们的 DQL 似乎没有使调用可重用?事物似乎以某种方式连接起来,它会返回 5 个实体(基于 JOIN),所有属性都为用户、事件、场所、场所类型、朋友填充。这是我不需要的很多字段,我只想要每个字段中的 1 列,正如您在上面的查询中看到的那样。另外,我不打算在这样的查询后保存任何实体。
  2. 将我所有的查询调用替换为具有以下方法的存储库类:$someUserRepo-> findNameAndEventNameAndEventDateAndVenueNameAndVenueTypeNameAndFriends(). 除了真正疯狂的方法名称之外,我不确定我在这里传递了什么(条件如:sortlimit、几个where's?)或我返回什么(数组?对象?)。

  3. 使用他们的查询构建器将我所有的查询调用替换为ORM调用(如 Laravel 的 Eloquent)。我没有看到通过将我的 SQL 查询替换为please->ORM->build->this->for->me->where->andWhere->andWhere->I->dont->know->SQL. 顺便说一句,我几乎确信 ORM 是一种反模式?

我怀疑这只是整个 PHP 社区中一个非常复杂的问题。或者我在这里错过了什么?

0 投票
2 回答
17396 浏览

postgresql - 在 PL/pgSQL 中动态执行查询

我已经找到了我要在 Oracle 和 SQL Server 上提出的问题的解决方案(我认为),但似乎无法将其转化为 Postgres 解决方案。我正在使用 Postgres 9.3.6。

这个想法是能够生成有关表内容的“元数据”以用于分析目的。这只能通过对每一列运行查询来完成(AFAIK),以便找出,比如说......最小/最大/计数值等。为了使过程自动化,最好让数据库生成查询,然后执行。

使用示例salesdata表,我可以使用以下代码段为每一列生成一个选择查询,返回 min() 值:

优点是无论列数如何,数据库都会生成代码。现在我想到了无数个地方来存储这些查询,可以是某种变量,也可以是表列,然后让这些查询执行。我想将生成的查询存储在一个变量中,然后使用EXECUTE(or ) 语句执行它们,这是这里EXECUTE IMMEDIATE使用的方法(见右窗格),但 Postgres 不会让我在函数之外声明一个变量,我一直在抓挠我的头脑与这将如何结合在一起,无论这是否是要遵循的方向,也许还有更简单的东西。

你有什么指示吗,我目前正在尝试这样的事情,受到其他问题的启发,但不知道我是否朝着正确的方向前进:

0 投票
2 回答
1705 浏览

sql - Pentaho:字符串到 SQL 选择语句

我有在执行之前需要对其进行操作的动态 SQL。基本上我通过作为字符串传递来构建查询。我终于想出了查询,但我现在的问题是如何执行所述查询。我尝试使用表输入,而 SQL 的内容只是一个“?” 要在构建的字符串上替换。不幸的是,它不起作用。

我该怎么做呢?

下面是步骤的屏幕截图。我可能不需要“选择值”步骤,我只是为了自己的可见性而添加了它。我对pentaho水壶很陌生。但是,我希望你明白这一点。基本上我在这里所做的是一旦我进入计算器步骤,这是我制定 SQL 查询的地方,因为它是一个选择,所以想在表输入上执行它。

在此处输入图像描述

这是错误:

0 投票
1 回答
379 浏览

linq - 动态 Linq 库无法处理重复的别名列名

我正在尝试使用 Dynamic Linq Library NeGet从数据库中收集数据。当我遍历它时显示此错误“元数据集合中已存在身份为“FirstName”的项目”</p>

似乎动态 Linq 库NuGet无法处理重复的别名列名。

我有两个表,它具有如下的一对多关系,在 Lead 表和 CoBorrower 表中包含相同的列名称。

表 1:铅

列:LeadID、FirstName、DateCreated

表 2:共同借款人

列:LeadID、CoBorrowerID、FirstName、Tax、DateCreated

这是我的代码片段

在此处输入图像描述

我会提前感谢您的帮助。

0 投票
2 回答
289 浏览

sql - 无法使用动态查询重命名列

对于任何 sql 管理员/开发人员来说,重命名查询中的列是一项非常基本且常见的任务。但是今天我遇到了这个问题,我需要选择数百个表的表名,并将其与之前选择的每个表中的最新条目进行匹配。

最后我想要这样的东西:

使用动态查询来获取 event_id 和 date 很容易,但是当我尝试添加列tbl_name时它失败了。

程序很简单:

最后,查询应如下所示:

奇怪的事情(对我来说)是,如果你运行最后一个查询,它会按预期执行,但如果你使用exec @sql,它会失败并出现错误,提示Invalid column name 'event_????' . 谁能告诉我为什么没有发生列重命名,如果有办法解决这个问题?

提前致谢。

注意:我使用的是 SQL Server 2012,对此我比较陌生!

0 投票
2 回答
49 浏览

mysql - 在存储过程中使用动态查询时是否有任何缺点(需要注意的事项)?

我正在使用 asp.net 开发网站。

我有一种情况,我需要根据使用 SQL 的界面中的复选框驱动的几种过滤机制来查询表。所以过滤器可能有几种组合。所以最后我发现这可以通过使用动态 sql 查询来实现。所以我写了一个存储过程,然后在生成正确的查询后将查询从应用程序传递给存储过程。

我的示例存储过程将是这样的

所以我有几个问题

1)这安全吗?我的意思是它会导致sql注入吗?

2)存储过程总是编译为最佳查询计划。那么动态查询会导致每次得到查询时重新编译SP,对吗?

3) 是否有任何性能问题?

4)当我使用这种方法时,我还需要注意其他任何事实吗?

5)如果有任何问题可以采取什么措施来减少这些事情?