SQL创建表错误

我刚刚开始学习SQL,在第一个障碍上遇到了困难,我无法创建表。下面是代码示例。我在运行语句时收到的错误引用了第7行,指出“关系运算符”存在问题。第7行的目的是检查此人的年龄是否大于18岁 我正在使用Oracle(不确定这是否会产生影响)。我希望有人能给我指出正确的方向 1. CREATE TABLE employee 2. ( 3. empID VARCHAR2(20) NOT NULL primary key, 4. surname VARCHAR2(15)

Sql 数据库项目:VisualStudio2008 vs 2010

我刚刚安装VS2010是为了运行其他人使用2010创建的DB项目。在VS2008中,我可以右键单击一个SQL文件,然后选择“RunOn”在给定的SQL服务器上运行脚本。我在2010年看不到这个选项。它可用吗?如果可用,我如何访问它?包含在VS 2005和VS 2008中的数据库项目格式已在2010年完全删除 与其保存可以独立运行的松散SQL文件,它更像一个编译器。构建项目时,将解析SQL文件,并(在大多数情况下)将其转换为数据库模式的XML描述 如果试图基于项目中的所有脚本创建或更新数据库,请在

Sql 性能:子查询或联接

我有一个关于子查询/连接另一个表的性能的小问题 INSERT INTO Original.Person ( PID, Name, Surname, SID ) ( SELECT ma.PID_new , TBL.Name , ma.Surname, TBL.SID FROM Copy.Person TBL , original.MATabelle MA WHERE TBL.PID = p_PID_old AND TBL.P

将空字段或空字段返回为<;元素/>;从SQL Server 2008 R2开始,使用FOR XML

我正在使用XML路径的从SQL Server 2008 R2运行查询。我唯一的问题是,我希望所有元素都显示出来,即使它们是NULL,并且我希望空(或NULL)元素返回为空 <MyElement /> 不如 <MyElement></MyElement> 请看下面的示例 您将得到如下输出 初级的 姓氏 阿比奥拉 初级的 200 姓氏 大约 注意第一个“参数”元素中的“值”元素。该值为NULL,但仍会生成一个元素。请注意,添加了一个特殊属性“xsi:

Sql 一个数据库表上大量请求的最佳解决方案

我们有一个系统,根据先到先得的原则为客户分配产品 我们的products表包含一个从零开始递增的主键,我们使用该主键跟踪分配了多少产品,即一个用户保留一个产品并分配1,下一个用户获得2等 问题在于,在任何给定的时间内,都可能有数十万用户访问该系统。所有人都会在这张桌子上 由于我们需要确保每个客户只分配一个产品,并跟踪分配了多少产品,因此我们为每个访问系统的客户使用行锁,以确保他们在下一个客户访问系统之前写入表,即强制执行先到先得规则 我们担心的瓶颈是进入SQL Server 2008 Enter

Sql 按最小和最大日期分组

我想用这些记录创建一个表: date | name | go to work ------------+------------+--------- 02/01/2012 | Mike | train 03/01/2012 | Mike | train 04/01/2012 | Mike | bus 07/01/2012 | Mike | bus 08/01/2012 | Mike | b

Sql 部分非规范化独角兽观测

有许多研究人员观察了世界上最后一个残存的行星,1号。研究人员每天记录他们看到的独角兽、目击日期、每只独角兽的婴儿数量以及目击发生时是否喝醉。这些数据被单独上传到一个中心位置,然后它向我吐出一个平面文件,记录每天的所有新观察结果 我有一个如下表,其中包含以下信息: 创建表unicorn\u( 观察者id号不为空 ,独角兽识别号不为空 ,created date not null--记录插入数据库的日期 ,lastseen date not null--上次看到记录的日期 ,观察日期不为空 ,无婴儿

Sql 使用什么来代替多态关联?

因此,出于许多原因,多态关联被认为是糟糕的数据库设计,例如,多态id列上不能有外键,因此引用完整性消失 而且,STI也被认为是不好的,除非子类型仅在行为上有所不同 因此,我的问题是,对于Rails/ActiveRecord,在以下场景中,什么是较小的危害: 我需要允许我的用户创建一个由多种类型的实体手工排序的集合 使用多态关联时,模式将如下所示: -- collections id, name, ... -- exhibits id, collection_id, exhibitable_ty

Sql 联合所有查询:";“定义的字段太多”;

我试图得到3个表的并集,每个表都有97个字段。我尝试了以下方法: select * from table1 union all select * from table2 union all select * from table3 这会给我一条错误消息: Too many fields defined. 我还尝试从第一个表中显式选择所有字段名(为简洁起见添加了省略号): 当我只合并两个表时,效果很好,如下所示: select * from table1 union all select *

Sql 自动完成从大型表中获取数据

我需要执行自动完成功能,并需要执行以下操作: select field from huge_table where field like '%some string%'; 这个表有200万行,我需要它的快速响应。 我们正在使用Postgres。而这种质疑将永远持续下去 有没有一种有效的方法可以让博士后做到这一点?或者我应该用别的东西而不是博士后 谢谢 您可以向正在搜索的字段添加索引 此外,如果可以避免,不要使用开放式通配符,如%some string%它们确实会影响性能。如果可能的话,做一些字

如何在PL/SQL块中自定义return语句

我正在编写一个名为MAKE_EMAIL的存储函数,它将接受first name和lastname的输入参数,并返回一个varchar2值,该值包含电子邮件地址,格式为firstname的首字母,后跟完整的姓氏,后跟@hpu.edu. 例如:从dual调用selectmake_email('Edward','Souza')将返回单个值:esouza@hpu.edu 这是我的密码: create or replace function MAKE_EMAIL(lastname varchar2(10)

将SSI添加到现有SQL Server实例

我正在尝试将Integration Services添加到现有的SQL Server 2008实例中 我转到SQL Server安装中心,单击“新建安装或向现有安装添加功能”选项 此时,会弹出一个文件系统窗口。我被要求浏览SQL Server 2008 R2安装介质 我尝试了C:Program Files\MicrosoftSQLServer,但收到错误消息,该文件夹未被接受为“有效安装文件夹”。我深入到MicrosoftSQLServer文件夹,找到了\SetupBootstrap,但也未被接

Sql VBA Insert Into VALUES为局部变量读取null

我正在使用Microsoft Access并尝试从一个表(名为Hazards)中提取ID,该表的ID与表单上的ID相同(名为Edit Hazards)。拉取此值后,我想将其插入标题下的另一个表(名为People_Hazards)中(这也是由于查找另一个表而产生的ID) 但是,在我将其插入局部变量后,当我尝试将其放入值的insert语句时,我收到错误消息,即存在“Expected parameters 1” 我曾尝试使用MsgBox检查查找是否正确,但效果良好。但是当使用Insert语句时,它似乎

用SQL server中另一个表中相同列的值替换一列

我有两张桌子,一张大一张小。两者都包含列ID和EffectiveDate 较大的表比较小的表有更多的其他列,当然也有更多的行 在两个表的ID相同的条件下,小表中的EffectiveDate列早于大表。我想用小表中EffectiveDate列的值替换大表中的EffectiveDate 我该怎么办?似乎是一个非常基本的SQL查询 UPDATE bt SET EffectiveDate = st.EffectiveDate FROM dbo.BiggerTable bt INNER JOIN dbo.

Sql 无法绑定多部分标识符。任何解决方案

当我运行下面的查询时,我得到一个错误:无法绑定多部分标识符“employee.mail” UPDATE [dbstore].[dbo].[Employee] SET employee.mail = empAD.mail FROM [dbstore].[dbo].[Employee] AS employee, (SELECT employeeID, mail FROM OPENROWSET ('ADSDSOObject',

Sql 从2个表中获取数据并编写查询

我在php中遇到查询问题。我似乎没有得到我想要的结果。 我试图写的查询是 列出每个国家人口最多的城市和城市 那个城市的名字。按城市人口的降序排列结果 以下是我尝试过的代码,以及我尝试过的表格: SELECT MAX(population) as population, name FROM what.city ORDER BY population DESC 以下是我正在使用的表格: Table "what.country" Column |

Sql 当前没有可用于服务登录请求的登录服务器

我正在尝试处理Visual Studio Data Tools 2013中的维度。但是,我发现以下错误: 内部错误:操作终止失败 服务器:当前操作已取消,因为另一个 事务中的操作失败 发生以下系统错误:当前没有登录 可用于服务登录请求的服务器 高级关系引擎中的错误。无法建立连接 数据源ID为“Asuntokunnat”的数据源, “Asuntokunnat”的名称 OLAP存储引擎中的错误:在 维度,ID为'ALUE',名称为'ALUE' 已处理 OLAP存储引擎中的错误:在 中“value”维

Sql 避免字符串连接以创建查询

Martin Fowler在他的书《企业应用程序架构模式》中说 一个很好的经验法则是避免将字符串连接在一起 SQL查询 这是我经常使用的一种做法,从查询的真实数据中抽象出SQL查询的语法 您能解释一下为什么这被认为是一种不好的做法吗?虽然在编译语句之前可能存在通过字符串连接构建准备好的语句的用例,但使用字符串连接插入查询参数始终是一种不好的做法,原因有两个: 性能:当使用预处理语句时,查询语法只需解析一次,对于每个不同的查询类型,访问路径只需计算一次。当通过字符串连接构建语句时,必须对查询的每次

Sql 提取当前月份和最近两个月的公共数据

我有一个超过20000行的表格,其中一列是2014年1月至2014年12月的月份,另一列是贷款编号。大多数贷款数字都是每个月重新调整一次,现在我只需要获得连续三个月出现的贷款数字。例如,如果我获得当前月份的数据,我还希望获得当前月份之前两个月内的常见数据。我使用的数据库是Access DB。任何告别都不仅仅是一种帮助,提前谢谢 SELECT Loans.LoanID, Sum(IIf([period]=[month],1,0)) AS CM, Sum(IIf([period]=[month]-1

在sql中执行排序操作后获取行的偏移量

我正在使用SQLite数据库 假设我有ID为1到50的行。然后我执行select和orderby操作 比如,结果是IDs:6,3,5,2,9,12,1,34,45,15 现在,我想知道在上述结果中具有给定ID的特定行的偏移量。ID 1的偏移量为6 我可以在单个查询中执行此操作吗?将已排序结果的查询放入子查询,并使用计数(*)检查id序列: 示例: 模式: 查询: 结果: 为什么不能在从光标读取行时简单地计算行数? CREATE TABLE tbl ("id" INTEGER,"val" INT

Sql 在Oracle中为非连续分区范围触发分区修剪的最佳方法

我有许多按日期划分的大型Oracle表;删除超过1年的数据,以使每个分区保持最大大小。我们在时间范围内运行许多不同的查询,这些大型表是在时间范围内联接的。我们必须处理时间范围跨越年终边界,导致年初大于年末的情况 我们尝试的是: WHERE table1.doy IN (SELECT column_value FROM TABLE(doy_tbl)) AND table1.time BETWEEN time1 AND time2 AND table2.doy = table

请翻译下面的SQL语句

代码根据当前日期为您提供一周的第一天 weekday根据从周一开始的一周确定一周中的哪一天(crMonday)日期添加然后从当前日期中减去天数。通过在结果中添加一天,您将获得一周的第一天 date(dateadd('d',-weekday(currentdate,crMonday),currentdate))+1 编辑:这是使用今天日期的结果。从内部功能到外部功能的工作 currentdate=“2015年10月6日,星期二” -工作日(当前日期,星期一)=-2 dateadd('d',-2,

Sql查询空值插入

Sql查询 SELECT respondant.respondant_firstname as first_name, question.question_id as question_id, answer.answer_id, answer.answer_text, ans

SQL选择和查询变量

此查询返回3-3-2,而不是3-1-2。我做错了什么?你做错的是在一个表达式中分配变量,在另一个表达式中使用值。MySQL不保证select中表达式的求值顺序,因此这是不安全的 下文对此进行了解释: 一般来说,除了在SET语句中,您不应该 为用户变量赋值并读取同一变量中的值 陈述例如,要增加变量,可以这样做: SELECT @frst:= (1) + @scnd:= (2) as 'Total', @frst as 'Frst', @scndas 'Scnd' 对于其他语句,例如SEL

Sql 如何将列的合计加在一起

我将TJM.intMaterialQuantity*TM.monMaterialCost相乘,得到了单独行中每个物料项目的总数。我需要把这4个总数加起来,放入一个新的列,名为monTotalMaterialCost。现在的方式是以每月材料总成本显示每种材料。我如何将所有材料的总数放在一行中,以便在一行中查看作业、客户和总成本 SELECT TJ.intJobID ,TC.intCustomerID ,TC.strLastName + ', ' + TC.strFirst

Sql 为什么azure数据库每次都使用相同的查询检索不同的记录?

我正在使用azure数据库S1,我在执行一些查询时注意到一些问题。 每次使用同一个查询(我的意思是,不同数量的记录)都会返回不同的结果,我使用SQL Management Studio手动执行查询,删除时也是如此 这是我正在运行的查询: SELECT * FROM [dbo].[Trabajador] WHERE ClaveTipoNomina = '00156' AND ClavePeriodo = '2017-01-15'; 或: 如果一个句子在几秒钟后再次运行,它会显示不同数量的记

SQL大规模序列更新

我正在使用SQL Server 2012,我遇到一个问题,即客户序列号以前导零开头(例如0000001),这反过来会在他们通过excel将数据导出到第三方界面时导致格式问题。我们曾试图讨论对excel进行更改,但客户不愿意 我需要的是一种“简单”的方法来更新所有表上的所有现有序列号,这些表有一个序列号链接(目前有362个表),以从1开始排序(例如0000001到1000001)。类似的方法应该可以工作 CREATE PROCEDURE ttt AS BEGIN SELECT DISTIN

Sql 在Oracle中,每个记录递增100(递增取决于行号)

我使用select语句生成视图,如 select 0||trim(TO_CHar(max(macode)+100,99999999)) from view; macode值如下 Maccode 020500 020500 033200 033200 033200 033200 020500+100 = 020600; 020500+200 = 020700; 033200+300 = 020800; 033200+400 = 020900; 但我想用100增加每个macode值。我想要这

如何使用SQL命令连接表

我有一张这样的表格,里面有6张桌子。我想将一个名为“Identity”的表与其他5个表连接起来,这些表根据组合框所示的数字相应地变化,这样,虽然显示的标识完全相同,但显示的分数数量将不同。我得到了文本框来显示5表的值,但是它们和标识表之间没有连接 我想要的是,当identity table的记录在1上,combobox显示1时,它将显示来自表Semest1的值,当combobox显示2时,它将显示来自表Semest2的值,依此类推,另一方面,当我们移动到下一条记录时,如果我们在combobox中

我想在T-SQL中将双类型值转换为指数值

例如,我举了一个例子 要替换T-SQL中的此C#函数吗 sqlReader.GetDouble(i).ToString("E16") 这将是一个原始值-->1.5 要使用此格式转换-->1.5000000000e+000您可以在SQL Server中实现E16格式: DECLARE @TestVale AS VARCHAR (5) = '1.5'; SELECT @TestVale + REPLICATE('0', 16 - DATALENGTH(SUBSTRING(@TestVale, CH

Sql ApacheZeppelin中的筛选器组合框数据源

我有一个项目 在我的项目中,我设置了两个组合框,如下所示: DropDownA的数据源是1,2,3,4,5 DropDownB的数据源是A、B、C、D、E 当DropDownA的选定值更改时,我需要筛选DropDownB的数据源 示例 他们的规则如下: 从DropDownA中选择1需要触发DropDownB的数据源以过滤到C、D、E 从DropDownA中选择2需要触发DropDownB的数据源以过滤到A、C、E 从DropDownA中选择3需要触发DropDownB的数据源以过滤到E 从D

SQL将1:M行转换为字符串列

我有一个1:M的记录集,我需要将其透视到结果连接的列中 创建示例数据: CREATE TABLE #temptable ( ID int, Division int, Material int ); insert into #temptable Values (999, 1, 1) ,(999, 1, 2) ,(999, 1, 3) ,(999, 2, 1) ,(999, 2, 6) ,(999, 3, 2) ID Division

SQL查询仅提取最接近今天日期的数据

我正在通过Excel 2016的“从Microsoft Query获取数据”自动化每周/每月的项目,我只需要从最接近“GetDate”功能的“currentFileDate”列中提取数据 “CurrentFileDate”信息几乎是以随机间隔更新的,因为从其他公司数据库中提取的数据经常失败,因此将getdate函数设置为仅回顾一周或几天是不起作用的。因此,请澄清一下:1)CurrentFileDate是您查询的数据库中的字段吗?2) 除了数据库中的该列,您还需要其他数据吗?3) 您查询的数据库是

Sql jOOQ-如何在查询中引用字段的值

我有一个DB表,其中包含有关发布的信息。版本有一个小版本号,它是一个整数。我想执行一个查询,读取给定版本中的值,并返回表中所有字段的当前值(减去ID),次要版本增加1 下面的查询返回当前值,但我不知道如何获取当前值并将其增加1 select(Arrays .stream(V_RELEASE.fields()) .filter(f -> !f.equals(V_RELEASE.ID)) .map(f -> f.equals(V_RELEASE.MINOR_VER

Sql 报告行上的MS Access复选框

我想为我的报告行添加一个复选框,在我完成对该行的操作后,每行都要进行检查 我有一个每个报表的项目列表,我想在完成后检查该项目,即使我关闭应用程序,检查也会保持不变。在报表的源表中添加一个名为的字段,然后在报表中添加一个可单击的绑定复选框控件 。只需选择一个复选框即可。(通过滚动Design菜单中的控件列表找到) @Gustav-很漂亮,不是吗?这是我不会说谎的,回答这个问题部分只是一个尝试的借口,在通过问别人一个不同的不相关的问题了解它之后,就像你一样!:-)谢谢正是我可以使用的功能。我本来打算

SQL-将每个值添加到表中的每个其他值

我有一张样品台 table 2 4 6 我希望以这种方式将每个值添加到每个其他值中: table (2+2) (2+4) (2+6) (4+2) (4+4) (4+6) (6+2) (6+4) (6+6) 最终结果应该如下所示: table 4 6 8 6 8 10 8 10 12 但我不知道如何以这种方式计算所有值。进行自交叉连接以获得交叉积: select t1.c + t2.c from tablename t1 cross join tablename t2 如果您需

具有动态日期的SQL Pivot

我试图建立一个报告,总结过去4周内每周的总销售额。例如: |-Item-|-1Week-|-2Weeks-|-3Weeks-|-4Weeks-| |-Pens-|---100-|---1000-|----800-|------0-| |Pencil|-----0-|----600-|---1500-|---2000-| 下面的查询返回的正是我对前一周的预期,但是,在将查询更改为对前4周的每个查询分别求和时,我遇到了障碍 SELECT itemmast.itemcode, item

Sql ORA-02067:需要事务或保存点回滚

当前正在尝试通过数据库链接合并来自相同本地表的数据。但是,我收到了ora-02067:需要事务或保存点回滚。我在谷歌上搜索了一下,发现解决方案是在事务完成后回滚,但我不认为在这种情况下回滚是可行的解决方案,因为我想写入数据并将其提交到另一个表中。我需要如何继续?以下是我的合并代码:提前感谢: MERGE INTO db1.IN_DATA@ora Y USING (SELECT DISTINCT FROM, TO, "DATE_",

Sql DB2中的datastage转换函数等效于什么

Convert函数返回变量的副本,变量中每次出现的指定字符都替换为其他指定字符。每次要转换的字符出现在变量中时,都会被替换字符替换。 例如: 输出 NOW IS THE TIME NOW YS XHE XYME NOW S THE TME 如何在db2查询中实现这一点。您可以使用: 我认为等价物是: 他是一把小提琴 这并不完全相同。不幸的是,默认情况下,DB2中的translate()不会删除字符(Oracle中的translate())。相反,当“to”字符串比“from”字符串短时,DB2

SQL Server 2016-按ID以逗号分隔的字符串值

我有一张这样的桌子: +----+-----------------+ |Id |项目类型| +----+-----------------+ |1 |恢复| |1 |外展| |1 |教育| |2 |恢复| |2 |教育| +----+-----------------+ 我希望我的桌子看起来像: +----+-------------------------------------+ |Id |项目类型| +----+---------------------------------

Sql 如何查询客户的借贷总余额?

问题:我有一个SQL Server表,如下所示: 事务id 时间戳 顾客 成本 活动 123 10-12-2020 1. 60 信用 456 11-12-2020 2. 50 信用 789 11-12-2020 1. 20 借记 000 12-12-2020 3. 100 信用 999 15-12-2020 2. 50 借记 您可以只使用条件聚合: select customer, sum(case when operation = 'credit' then cost else -co

如何将列中的字符串转换为同列sql server中的对象json

我想将列ExtId转换为对象json,并更新ExtId不为null的表 有可能得到一个示例脚本吗 **Table Before** | Id | brand |ExtId| | --- | --- | --- | | 1 | volvo | 1040| | 2 | bmw | | | 3 | Mercedes | 1501| | 4 | Mazda | | | 5 | Fiat | 132 | **Table

SQL中函数中的函数替换

我需要构建一个函数来替换字符串中的元音:a->4,E->3,I->1,O->0,U->7 这是我所拥有的,但它不正确: CREATE or ALTER FUNCTION Punto11 ( @replace char (20) ) RETURNS char AS BEGIN DECLARE @PALABRA char (55) ='ola' SELECT @replace = REPLACE (REPLACE(REPLACE(REPLACE(REPLACE(@PALABRA

外键约束失败,SQLite

我对数据库和SQLite非常陌生。我有一个提供给我的数据库,供ASP.NET MVC web应用程序使用。我必须对专辑、曲目、艺术家和媒体类型执行CRUD操作。大多数功能都已实现并正常工作,但是,在对磁道表执行删除操作时,我注意到一个错误,“[19:46:57]从磁道表中删除行时出错:外键约束失败” 有人能帮我理解为什么我不能在不违反外键约束的情况下从“tracks”表中删除一行,以及它违反了哪个约束 任何帮助都将不胜感激 下面是,而且。我认为您的问题是,磁道被一个发票项引用,也就是说,您可能对

SQL检查用户是否有输入和输出

我需要帮助获取在isIN列中有“IN”和“Out”的用户。如果用户有输入和输出,请不要在列表中选择它们。我需要选择只有一个IN的用户。求你了,我需要帮助。提前谢谢 这是表格: | Users | IsIN | |:------------------:|:-----:| | MHYHDC61TMJ907867 | IN | | MHYHDC61TMJ907867 | OUT | | MHYHDC61TMJ907922 | IN | | MHYH