Postgresql匹配部分解决方案?

我正在努力解决Postgresql 8.4缺少MATCH-PARTIAL。我有以下模式: [vehicles] lot_id | vin | source | year | make | model ... primary key ( lot_id, vin, source ) [pictures] picture_id | lot_id | vin | url | sha1 ... primary key ( picture_id ) 现在,我想要的是一个复合外键,它引用车辆表,因

Sql 非常紧凑,但我对速度更感兴趣。从我读到的和看到的CTE来看,在我的例子中,它们只是句法上的糖分。但是,如果我错了,请纠正我。@subt13:您必须在比较各种选项之间的实际查询计划后通知我们。 -- Step 1: **This step took 13

非常紧凑,但我对速度更感兴趣。从我读到的和看到的CTE来看,在我的例子中,它们只是句法上的糖分。但是,如果我错了,请纠正我。@subt13:您必须在比较各种选项之间的实际查询计划后通知我们。 -- Step 1: **This step took 13 minutes.** Insert only one of the n duplicate rows into a temp table select MAX(prikey) as MaxPriKey, -- identity(1, 1

Sql 为什么可以';是否在另一个存储过程调用的存储过程中不使用INSERT EXEC语句?

首先我试着解释一下情况。 我将过滤器表达式存储在一列中,以换行符分隔。其基本思想是: SELECT 'SELECT ''' + REPLACE(topic_filter,CHAR(10),''' UNION ALL SELECT ''') + '''' FROM dbo.topic_filter T WHERE T.id = @id FOR XML PATH('') 在此之后,我只需执行这个字符串,将数据放入临时表中。 我的问题从这里开始。 该代码段位于存储过程中,由多个存储过程用于生

Sql 如何通过Hibernate获取数据库版本?

有没有办法通过Hibernate 3.2 API获取底层数据库版本的一些信息?我在这里和javadoc中都找不到相关的位 获取数据库引擎的版本是特定于实现的。这意味着没有获取版本的共享方法,因此Hibernate不能真正提供API,因为它没有绑定到任何特定的RDBMS。例如,以下是从一些著名的RDBMS获取SELECT语句版本的几种不同方法: Oracle:从v$version中选择* SQL Server:选择@@version MySQL:选择版本() 您可以创建一个报告版本的视图,然

Sql 请推荐最佳批量删除选项

我正在使用PostgreSQL 8.1.4。我有三个表:一个是核心表(表1),其他表是从属表(表2,表3)。我在表1中插入了70000条记录,在其他2个表中插入了相应的相关记录。正如我使用CASCADE一样,我可以使用DeletefromTable1删除相关记录;在我当前的PostgreSQL版本中,当记录很少时,它可以正常工作。当我有大量记录时,它会尝试删除所有记录,但在很多小时内都没有删除进度的迹象!而批量导入只需几分钟。我希望在合理的时间内进行批量删除。我也试过截断。例如,截断表3、表2、

Sql 使用Oracle中同一行的值更新列

我正在Oracle中创建一个SQL命令,以更新“LOADDATE”的值,使其等于表上的“UPDATEDATE”值。我这里的工作: BEGIN UPDATE LOAD_SETTINGS SET LOADDATE = ( SELECT UPDATEDATE FROM LOAD_SETTINGS WHERE MODEL = 'A001' AND OBJECT = 'A' )

Sql 在轴中选择

有没有办法在数据透视列中使用CASE SELECT语句。我的代码如下 SELECT PName, [RN], [HA], [LVN], [MSW], [SC] FROM ( Query ) src pivot ( max(Visits) for Discipline in ([RN], [HA], [LVN], [MSW], [SC]) ) piv Pname RN HA LVN

Sql 从RosterResource表获取用户ID

我有5张桌子:位置、费用、资源、花名册和特殊记录表 CREATE TABLE Location( LocationID int identity, StartDate datetime, DaysInRoster int) CREATE TABLE Charge( ChargeID int identity, TotalAmount money, ChargeDate datetime, UserID int) CREATE TABLE [Resource]( ResourceID int

Sql VB.NET如何将十进制格式应用于Gridview中的特定列?

如何将十进制格式应用于Gridview中的特定列 例如83.7837837837838是从SQL填充的,如何将其转换为83.8 我只想将此应用于一列,因为其他列都是整数,所以不需要这样做。一种方法是使用该属性。例如: <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="ProductID" DataSourceID="SqlDataSource1"&

Sql 列出购买订单的客户>;平均支付订单

以下是我的疑问: select c.cust_lname, c.cust_fname, o.amount from CUSTOMER c, orders o where o.amount > (select AVG (o.amount) from orders o group by order_num having o.amount > AVG(o.amount)); 为什么不起作用?你设计得太过火了。从子查询中取出having子句。按照编写查询的方式,它看起来像: select

如何在SQL Developer中为多值参数输入绑定

我有很多带有命名参数的SQL,我需要能够在SQL Developer中执行这些参数。对于参数为标量值的SQL,很容易将SQL粘贴到工作表中,SQL开发人员将提示我(在标题为“Enter Binds”的对话框中)输入参数值。但对于参数需要保存多个值的情况,如下所示: select count(*) from foo where foo.id in (:ids) 其中,:id需要替换为1,2,3,以便执行查询 select count(*) from foo where foo.id in (

SQLite以不同于预期的方式命名列

我正在运行下面的SQL语句 SELECT [i].[ByteColumn], [r].[ReferenceDate] FROM [Reference] [r] INNER JOIN ( SELECT [Import].[ImportID], [Import].[ByteColumn] FROM [Import]) AS i ON ([r].[ImportID] = [i].[ImportID]) ORDER BY [i].[ByteColumn] ASC 数据按预期返回,但列名是i和

使用其他用户和密码运行t-SQL命令

T-SQL问题: 我的用户不是管理员,但我只想使用sa用户和当前用户的密码运行查询 说明: 我的当前用户 用户:[shashank]--这不是管理员用户 我的管理员 用户:sa 通行证号码:12345 我以[shashank]身份登录,希望在不登录[sa]的情况下运行一些管理员查询 executeas对我来说似乎不起作用,因为它需要是sysadmin并且不需要密码 提前感谢。这里有两个选项: 将EXECUTE AS封装在只有您的用户具有执行权限的存储过程中 CREATE PROCEDURE db

从SQL函数返回布尔值

我试图在postgres中编写一个返回布尔表达式的PL/pgSQL函数。当前代码如下所示: CREATE OR REPLACE FUNCTION is_visible_to(role integer, from_role integer) RETURNS boolean LANGUAGE SQL STABLE STRICT AS $$ RETURN $1 = $2 OR first_predicate($1, $2) OR second_predicate($2, $1); $

Sql 如何更改db序列起始值

我的要求如下。 (a) 我已经创建了一个序列,其中一个表是(假设雇员有id、姓名等)。 (b) 我的序列是如何损坏的,并且序列的当前值与employee表的id列的最大值不同步 现在,我想将序列重置为employee表的id列的最大值。我知道,通过使用PL/SQL存储过程,我们可以很容易地做到这一点。但我想写一个简单的查询,它将完成以下任务。 1-获取id的最大值和我的序列的当前值。获取一个差值,并使用递增方式将该差值添加到序列中。(此处我的序列当前值小于id列的最大id值)您可以使用“ALT

Sql HQL/JPQL自左联接

我有一张像这样的友谊桌 friend_of/friend_to 1 2 2 1 1 3 基本上,友谊是双向的,所以当我有一对AB和BA,这意味着友谊存在。但如果(如本例中)缺少一对,则意味着用户3有一个挂起的好友请求 我可以很容易地在SQL中选择这样一个待处理的朋友: SELECT f1.friend_of FROM friends f1 LEFT JOIN friendship f2 ON f1.friend_of

Sql 带有子查询的DB2连接优化(NLJOIN vs HSJOIN)

我正在尝试修复用于计算数据的查询的性能。在其中一个查询中,DB2LUW的优化器选择进行嵌套循环连接,而不是哈希连接 有问题的查询(导致NLJOIN) 但是,当我首先创建子查询表时,优化器会执行哈希连接 优化的查询(导致HSJOIN) 为什么DB2会为相同的数据选择不同的路径?有没有办法强制具有子查询的结构执行哈希连接?由于权限限制,我无法创建表。设置中的db2level是什么?如果它是DB2 V9或更老,那么优化器甚至没有考虑HSnOn的一个原因是,问题查询包含表达式上的连接谓词。在这种情况下,

sql获取上个月的数据

输入时,我需要获得上一个月和上一年的数据。因此,如果用户键入201412,则应返回201411。如果他们键入201501,则应返回201401。在SQL Server数据库上执行此操作的快速方法是从字符串中创建一个日期元素,将其转换为日期类型,然后使用函数dateadd和add-1 month(如果愿意,可减去一个月) 像这样: select DATEADD(MONTH,-1,CAST(LEFT(201401,4)+'-'+RIGHT(201401,2)+'-01' AS DATE)) 步骤分

Sql 使用oracle数据库在克隆中查找特定单词的查询

有人能帮我回答下面的问题吗 我想找到在col1中有“word1”的记录,我们可以编写下面的查询,但是我们是否有其他选项/运算符,可以在col1中找到没有前缀和后缀的确切单词 Select col1, col2 from table1 where col1 like '%word1%' or col1 like '%word1' or col1 like 'word1%' or col1 = 'word1'; 注意:我知道我们可以使用contains操作符,但是它使用了我不想要的索引 请让我

Sql 查询时出现语法错误

我想在Delphi XE2中使用Insert-Into查询将用户信息插入MS Access数据库。问题是,我总是会遇到同样的错误: INSERT INTO语句中的语法错误 我做了一些研究,但没有确定的答案。我的源代码是: opendb('QuizDB.mdb'); DB.Close; DB.SQL.Add('INSERT INTO tblUsers'); DB.SQL.Add('(FirstName,Surname,Username,Password,Grade)'); D

Sql 如果满足多个条件,则使触发器中声明的变量追加其值

我在写一个触发器,我希望每次满足条件时都附加声明的变量v_消息。因此,例如,如果满足前两条语句,v_消息应该类似于“Invalid account Invalid amount”。如果v_消息已经包含某种错误消息,我还必须找到一种方法,将这两条消息用空格分隔开来,因为如果您有类似“Invalid account Invalid amount”这样的内容,它将不可读 当我试图以“无效帐户无效金额”而不是“无效帐户无效金额”结束时,trim(v_消息)是否会删除所有前导和尾随空格?我尝试了代码,但它

Sql 为什么null是关系中一个吸引人的元素?

null是缺乏价值,或者更夸张地说,是未知。从这里可以看出,null+a,null*a,null/a,等等都是由null产生的,这是完全合乎逻辑的。这意味着null是这些操作的一个参数。我想知道为什么它也必须成为关系中一个吸引人的因素null>5也可能被认为是错误的,至少我们可以对当前行为给出合理的解释。目前我们可以说null>5是null,因为未知值可能大于5,也可能不大于5,所以结果就是未知值。但是如果它是false,那么我们可以说null>5是false,因为缺少的值不大于5 看看这些查询

基于SQL索引的搜索

我有一个名为Index的表,它有id和value列,其中id是一个自动递增的bigint,value是一个带有英文单词的varchar 我有一个名为Search的表,它与表索引有关系。对于每个搜索,您可以定义它应该在名为Article的表中搜索哪些索引 表文章也与表索引有关系 定义关系的表格包括: 使用列id\u search和id\u index搜索索引 Articles\u索引带有列id\u article和id\u索引 我想找到所有包含相同搜索索引的文章 例如:我有一个搜索,索引为膝上型电

一个SQL查询,列出所有已注册并正在学习模块的学生的姓名

列出所有注册学习计算机科学并正在学习数据库模块的学生的姓名 这是我的桌子: 试试这个 从模块a中选择c.Stud\u名称、a.Module\u名称、b.Prog\u名称 a.Dept\u id=b.Dept\u id上的内部联接程序b 在b.Stud\u id=c.Stud\u id上内部连接学生c 其中a.Module_Name='Database'或Module_ID=013 如果你不熟悉连接。试着去理解它。我用模块名称或模块id对其进行筛选。您可以选择其中之一。这看起来像是家庭作业。。。你

Sql 内部联接中存在重复的列数据

上面的查询给出如下输出: 如何从列quesid,questions和列optionid中删除重复数据保持不变在结果中,具有相同quesid,question的所有行都有不同的optionid。这使得所有这些行都不同。因此,如果您想为quesid设置一行,您需要聚合结果 比如说 select questions.quesid, questions.question, questionsoptions.optionid from questions inner join questionsopt

Sql 如何进行内部联接查询?

我有一个疑问: SELECT o.Date, CONCAT (c.FirstName, '', c.LastName), c.StreetAddress, c.Apt, c.City, c.State, c.ZipCode, c.HomePhone, c.MobilePhone, c.OtherPhone, i.Quantity, d.DonutName, d.Description, d.UnitPrice,

SQL搜索仅提供两种不同产品的供应商

这是一个使用子查询的家庭作业问题,教授给出的最接近的例子没有那么大帮助。我们基本上有一个大的产品表,其中有相关的行ProductID、SupplierID、CategoryID。 我需要编写一个查询,返回恰好提供两类商品的所有供应商 我有类似的东西 select Products.SupplierID, CompanyName, Products.CategoryID, CategoryName from Products join Categories ON Products

Sql 列';学院名称';在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中

在SQL Server中使用group by子句时,此nd idk中存在错误,所有非聚合字段必须包含在group by子句中 一些注释;我使用了正确的连接语法,并更新了您的GROUPBY子句以使用选定的列,而不是未选定的f.f_代码。话虽如此,GROUPBY子句在这里所做的就是删除重复的行,并且可以使用SELECT DISTINCT来完成 select f.f_name,s.s_name from faculty f, subject s where f.f_code=s.facultycode

Sql 计算字符在表中出现次数少于次数的次数

我正在尝试复制此表: 也就是说,列出所有拥有少于2家制造商工厂的城市的名称。我试图通过使用have(*)并将其与内部联接混合来实现这些方法,但我不确定我是否走上了正确的道路 通过查看堆栈上的其他问题,我尝试以两种不同的方式编写代码: 一, 结果不准确,但如果我将(ManID)更改为小于2,则不会有任何结果 二, 选择CityID,COUNT(CityID)Counts 来自制造商4787 按城市分组 计数(CityID)

Sql Postgres |如果语句带有或有条件

我有一个用于验证传入变量的存储过程。如果变量不是“maker”或“member”,那么它应该抛出一个错误。如果变量属于上述两个变量,则应继续正常处理 下面代码的当前问题是,它总是返回false,因此总是抛出错误,无论变量是“maker”、“member”还是其他变量 关于我可能错误地看待我的逻辑结构的地方,有什么想法吗 CREATE OR REPLACE FUNCTION validate_creator_type ( "creator_type" VARCHAR(25) -

Sql Sequelize嵌套的即时加载查找嵌套关联不存在的所有位置';不匹配

我正在尝试在我们的网站上设置一个自定义权限模块,而且我对sequelize和如何执行基本嵌套加载操作相对较新 我设置东西的方式是我有三个模型:Permission,PermissionDirectory,和User。权限位于列表中,嵌套在与目录的关系中。我在列表中有一个过滤器,它根据用户的权限是“允许”还是“拒绝”进行过滤。用户与权限之间存在多对多关系,我正在确定他们是否“允许”权限(如果他们之间存在关联) 问题页面是在筛选特定用户的权限时出现的。筛选用户是否“允许”权限非常简单: const

Sql 负载平衡-ASP.NET SessionID的问题

我们的开发人员最近表示,他们在我们的webapp中添加了负载平衡代码。所以我花了两天的时间,不知道为什么它不起作用。首先,我发现两台IIS服务器上的站点ID不同,因此这是固定的。无论如何,在设置平衡时,ASP.NET_SessionId会不断重置,好像它没有正确存储在数据库中一样。我看了一下表格,里面有一个条目 使用HAproxy并拥有2台Windows服务器2016 IIS10。看看这两台服务器,下面的代码是开发人员说他们添加的代码 <sessionState timeout="15"

Sql 如何在Oracle中删除日和月值的前导零?

我想从结果中删除前导零。我在这里找到了答案,但对我来说不起作用 我尝试了以下脚本: SELECT TO_CHAR(SYSDATE, 'dd.mm.yyyy'), TO_CHAR(SYSDATE - 20, 'fmdd-fmmm-yyyy') FROM DUAL; 我得到的结果如下: SELECT TO_CHAR(SYSDATE, 'dd.mm.yyyy'), TO_CHAR(SYSDATE - 20, 'fmdd-fmmm-yyyy') FROM

使用T-SQL在分层数据中查找特定父级

我有一个层次顺序的对象。每个对象都有一个ID、一个父对象(到表中的\u ID)和一个类型。 我的数据位于如下表中: ID | TO_ID | TYPE 123 | 103 | group 176 | 103 | field 256 | 169 | group 103 | 234 | organization 234 | 390 | site 现在我想在表中搜索,直到找到具有特定类型的父对象(我不知道我的起始对象有多少父对象) 例如,我从ID123开始,希望找到类型为

Sql Oracle:用于验证对象是否属于其表空间的脚本

我有两个表空间,一个用来存储表,另一个用来存储索引。我创建了一个可以在任何模式中运行的脚本,它将对象(表或索引)移动到各自的表空间 但是,我没有找到一个脚本来验证对象是否已移动到正确的表空间(意味着表已移动到表空间,索引已移动到索引表空间) 有什么想法吗?您可以使用下面的查询通过特定模式获取信息: select t.table_name, t.tablespace_name as "TS Name For Table", i.index_name, i.tablespace_nam

Sql 计算除午休外的工作时间

我有一张桌子 name type start end 1 work 08:30 12:00 2 lunch 12:00 12:30 3 work 12:30 17:30 4 break 17:30 18:00 可以使用一个简单的SQL来计算工作时间,以0.5小时为单位计算开始和结束时间。 例如,从08:30开始到18:15结束,结果是8.5小时?Thx我认为此查询和相关示例可以帮助您: CREATE TABLE #MyTable (Pr

Sql 是否有一种方法可以随机存储桶行,并使这些存储桶具有相似的值?

我目前在一个表中标记了大量贷款,dbo.loans。此表在[loan_tag]字段中标记贷款,在[sub_bin]字段中标记子桶。现在,我正试图用随机选择但账面价值相似的贷款创建子桶。我可以使用类似于下面的查询来选择/更新新字段 我可以使用类似以下的查询选择/更新新字段: UPDATE DBO.LOANS SET SUB_BIN = "SUB-BUCKET2" WHERE CAPS_HEDGE IN ( SELECT TOP 10000 CAPS_HEDGE FROM DBO.LOANS WHE

在SSIS变量中使用SQL字段

是否可以在SSIS变量中引用SQL字段 例如,我想使用下面“表”中的字段 作为一个动态变量(在我们的示例中名为“CMSPhysProID”) 我计划将多个ID连接到一个In语句中。通过将ID连接到一个“In”语句中,您想实现什么?如果想法是使用ID的值来限制结果,那么作为动态WHERE子句,您可能会更幸运,只需对使用所需ID维护的表进行查找,甚至对使用脚本任务在包中生成的静态列表进行查找。(如果您可以使用lookup table方法,那么维护起来就容易多了,因为您只需要更新一个表,而不需要更新

Sql DB2(找到游标)无效关键字“无效”;“发现”;

我在DB2游标方面遇到了严重问题。 当我打开它的时候,我不知道里面有没有记录 我还在IBM®Data Studio 4.1.0.0版中编写存储过程,您必须运行FETCH语句来检查结果集中是否有记录。但是您不能这样做,因为您将结果返回给调用者 因此,第一种解决方案是使用(声明的|创建的)全局临时表INSERT SELECT,检查是否插入了任何行(使用语句),然后在此(C | D)GTT上打开游标1或游标2 第二种解决方案是将两个select语句合并为一个语句,如下所示: SELECT T.* FR

具有不兼容列的SQL表(一次只能使用1个) 背景: 让我们考虑一下,我有一个数据库,有一个表“House”。我也有“瓦莱德罗夫”和“撒切尔德罗夫”的桌子 目标:

我所有的房子一次只能有一个屋顶。它可以是瓷砖的,也可以是茅草的,但不能两者兼而有之。即使这没有多大意义,想象一下我们可能会多次更换屋顶 我的解决方案: 我可以想出两种将房屋连接到屋顶的解决方案: 解决方案1:每次删除/创建屋顶: 数据库应如下所示(或多或少是伪sql代码): 因此,我将“tiledRoof_id”和“thatchedRoof_id”设为null。然后,如果我想把房子和瓦片屋顶连接起来,我会在“tiledRoof”表中做一个上插。如果创建了一行,我会更新“tiledRoof_id

Sql 显示跟踪表中没有发票的所有记录-比较两个表

强调文本第一个表是Track,第二个表是InvoiceLine。它们都共享“InvoiceId”列。我试过: SELECT * FROM Track WHERE NOT EXISTS ( SELECT * FROM InvoiceLine WHERE InvoiceId ) 你仅仅在4小时前问了同样的问题-请不要重复同样的问题!(而且你仍然没有提供更多有用的信息来继续……)请不要只发布代码作为答案,还要解释你的代码的作用以及它如何解决问题。带有解释的答案通常更有帮助,质

从SQL转换为HQL

我想将此查询转换为HQL语法,请: SELECT count(*) from ( SELECT count(name) as tot FROM myTable WHERE id = 1 GROUP BY name ) as src; 更新 我找到了一种方法:基于 此查询从myTable中选择count(name)as tot,其中id=1 groupby name返回一个列表,然后我执行.size()。这对我有用 请注意: SELECT count(mt) as tot FROM myTabl

  1    2   3   4   5   6  ... 下一页 最后一页 共 4478 页