Tag: sql

我如何(或可以)在多列上selectDISTINCT?

我需要检索表中的所有行,其中2列合并是不同的。 所以我想要所有没有任何其他销售的销售在同一天发生在相同的价格。 基于date和价格的独特销售将被更新为活动状态。 所以我在想: UPDATE sales SET status = 'ACTIVE' WHERE id IN (SELECT DISTINCT (saleprice, saledate), id, count(id) FROM sales HAVING count = 1) 但是我的脑子受伤的远比这更远。

你怎么能在数据库中表示inheritance?

我正在考虑如何在SQL Server数据库中表示一个复杂的结构。 考虑一个需要存储一系列对象的细节的应用程序,这些对象共享一些属性,但有许多其他属性不常见。 例如,商业保险一揽子计划可能包括同一保单logging中的责任,动机,财产和赔偿保障。 在C#中实现这一点是很简单的,因为您可以创build一个包含部分集合的策略,其中部分根据各种types的封面的需要而被inheritance。 但是,关系数据库似乎不容易这样做。 我可以看到有两个主要的select: 创build一个策略表,然后创build一个Sections表,其中包含所有必需的字段,用于所有可能的变化,其中大部分将是空的。 创build一个政策表和大量的科表,每种types的封面。 这两种替代方法看起来都不尽如人意,特别是因为有必要在所有部分中编写查询,这将涉及大量的联接或多次空值检查。 这种情况下的最佳做法是什么?

如何检查给定模式中是否存在表格

Postgres 8.4和更高版本的数据库包含public模式中的公用表和公司模式中的公司特定表中的公用表。 company模式名称始终以'company'开头,并以公司编号结尾。 所以可能有图式: public company1 company2 company3 … companynn 一个应用程序总是与一家公司合作。 search_path在odbc或npgsql连接string中相应地指定,如: search_path='company3,public' 如何检查给定的表是否存在于指定的companyn模式中? select isSpecific('company3','tablenotincompany3schema') 应该返回false ,并且 select isSpecific('company3','tableincompany3schema') 应该返回true 。 在任何情况下,函数应该只检查通过的companyn模式,而不是其他模式。 如果给定的表存在public模式和传递模式,则该函数应该返回true 。 它应该适用于Postgres 8.4或更高版本。

ListSQL在SQLSERVER中

我正在尝试在SQLServer中聚合一个“STRING”字段。 我想在Oracle中find与LISTAGG相同的函数。 你知道如何做同样的function或另一种方法吗? 例如, Field A | Field B 1 | A 1 | B 2 | A 我希望这个查询的结果是 1 | AB 2 | A

MYSQL OR vs IN性能

我想知道下面的performance是否有差异 SELECT … FROM … WHERE someFIELD IN(1,2,3,4) SELECT … FROM … WHERE someFIELD between 0 AND 5 SELECT … FROM … WHERE someFIELD = 1 OR someFIELD = 2 OR someFIELD = 3 … 还是将MySQL与编译器优化代码的方式相同? 编辑:由于评论中所述的原因,将AND更改为OR 。

同步客户端 – 服务器数据库

我正在寻找一些常规策略,用于将中央服务器上的数据与不总是在线的客户端应用程序进行同步。 在我的情况下,我有一个Android手机应用程序与SQLite数据库和PHP Web应用程序与MySQL数据库。 用户将能够在手机应用程序和networking应用程序上添加和编辑信息。 即使手机不能立即与服务器通信,我也需要确保在一个位置进行的更改反映到处都是。 我不关心如何将数据从手机传输到服务器,反之亦然。 我只提到我的特定技术,因为我不能使用例如可用于MySQL的复制function。 我知道客户端 – 服务器数据同步问题已经存在了很长很长的时间,并希望获得关于处理问题的模式的信息(文章,书籍,build议等)。 我想知道处理同步的一般策略,比较长处,弱点和取舍。

如何在SQL Server数据库中的任何地方find值?

给定一个#,我如何发现在哪个表和列中可以find? 我不在乎速度如何,只需要工作。

Java – 转义string,以防止SQL注入

我试图把一些反SQL注入在Java中,我发现很难与“replaceAll”string函数工作。 最终,我需要一个函数,将任何现有的\ \\ ,任何" \" , \"任何\'和任何\n为\\n以便当string被MySQL评估时,SQL注入将被阻止。 我已经拿起了一些我正在使用的代码,所有的函数都让我的眼睛变得疯狂。 如果有人碰巧有这样的例子,我将不胜感激。

多个列的SQL MAX?

你如何返回每列最多几列的1个值: 表名 [Number, Date1, Date2, Date3, Cost] 我需要返回这样的东西: [Number, Most_Recent_Date, Cost] 查询?

获得每个组的前1行

我有一张表,我想要得到每个组的最新条目。 这是表格: DocumentStatusLogs表 |ID| DocumentID | Status | DateCreated | | 2| 1 | S1 | 7/29/2011 | | 3| 1 | S2 | 7/30/2011 | | 6| 1 | S1 | 8/02/2011 | | 1| 2 | S1 | 7/28/2011 | | 4| 2 | S2 | 7/30/2011 | | 5| 2 | S3 […]