我对SQL有一个病态的问题,所以我通常通过构建快速软件应用程序来处理SQL问题,从而对所有数据库问题进行排序
(正如我在本案中所做的那样)
多亏了StackOverflow,我想我会羞于承认正确性,所以我想学习如何在实际SQL或T-SQL本身中进行此类SQL故障排除(如果可能):
我有:
数据库DB1表A(unitNo,BuildingNo)
数据库DB2表B(unitNo,BuildingNo)
我想从数据库DB1中找出表A上存在的单位(单位编号),而数据库DB2中的表B上不存在单位(单位编号
我正在尝试创建一个查询,返回表sku中每个日期的所有价格
为了澄清,creationdateformat中包含以下日期:
creationdateformat
2010-10-25
2010-10-26
2010-11-10
2010-11-24
2010-11-25
SKU竞争有以下价格:
sku creationdate price
PCR-BR2495112 2010-10-26 16:06:03 24.99
PCR-BR24951
我正在学习数据库,使用SQLce。出现了一些问题,错误如下:
A foreign key value cannot be inserted because a corresponding primary key value does not exist.
当试图保存未指定外键的数据行时,数据的完整性和可接受性如何工作。是否可以以某种方式将其设置为NULL,这意味着它不会引用其他表?如果是这样,我该怎么做?(对于整数键字段)
另外,如果您保存一行时包含一个有效的外键,该外键对应于其他表中的现有
我们有一个SQL Server 2008系统
不知何故,从msdb中删除了sp_send_dbmail存储过程
当我重新创建存储过程时,它不会放在系统文件夹中,而是放在msdb的常规存储过程文件夹中
有人知道如何移动存储过程或在正确的目录中创建存储过程吗?根据我在SQL Server 2008上找到的最新链接,未记录的存储过程sp\MS\u marksystemobject仍然可以在SQL Server 2008上工作 我必须为我们的一台服务器执行此操作,您有幸重新创建它吗?我想我只是要从一个工
我正在尝试为Oracle中的用户创建同义词
BEGIN
FOR S IN (SELECT owner, table_name FROM all_tables WHERE owner = 'TABLE_OWNER') LOOP
EXECUTE IMMEDIATE 'create synonym '||S.table_name||' for '||S.owner||'.'||S.table_name||'';
END LOOP;
END;
执行时,我在Toad中遇到
问题是:
“创建一个查询,该查询将显示所有员工的姓名、职务、部门名称、工资和等级(来自SALGRADE表)。”
到目前为止,我的代码是:
SELECT e.ename, e.job, d.dname, e.sal, s.grade
FROM emp e, dept d, salgrade s
WHERE e.deptno = d.deptno
这将返回70行,但结果应仅生成14行
EMPLOYEE EMP JOB DEPT NAME EMP SALARY SALARY G
参见图
在我的报告中,我需要列出每个“项目名称”的总成本、小时数和天数
由于某些原因,我无法让视图按月份对每个项目的所有数据进行分组,例如,如果您看到2010年7月有2个条目,我希望将其显示为一行的总计。有人能帮我吗
SELECT TOP (100) PERCENT Date_year, Date_month_number, Date_month_name, Service, Hours, Days, ProjectName, Cost
FROM dbo.Resource
我有这样的桌子:
name number total_time avg_time
tom 10 00:02:28 ?
kevin 6 09:22:25 ?
total_time是时间间隔的类型,我可以轻松地更改为字符串。
现在,我想得到这样的平均时间
avg_time = total_time / number;
select interval '02:00:00'/4
我想知道如何得到结果?我试着计算日、时、
结果是来自table2的表1-amount中的所有值,除了不在table2.id中的table1.id,它们获得空值
所以这一切都很好,除了我有空值,因为我需要它们成为表1.amount值
也尝试过类似的东西,但仍然不起作用
select
id, amount - (select sum(amount) as amount
from table2
where column = 'value' and table
什么查询适合比较下面指定的两个表,但是位置(表1)中只有部分字符串与位置(表2)匹配
只有位置的前两个字符(表1)和位置的前两个字符(表2)应该匹配。请帮忙
位置的任意N个(连续)字符(表1)和位置的任意N个(连续)字符(表2)应匹配
您可以使用LIKE进行模式匹配。下面的示例显示了表1的位置列表,该列表与表2中的locaton部分匹配
在MSSQL中:
SELECT *
FROM location_table2 a, location_table1 b
WHERE b.location LIK
我有一个表结构,简化如下:
period_id int
suite_id varchar(20)
suite_status varchar(50)
每个月分配给一个期间id。每个套件都有一个每月的记录(期间id)。套房状态可以是“空置”或“有效租赁”。我正试图写一个查询,显示自2011年7月1日起租赁的前五大交易,它们在成为有效租赁之前空置时间最长,但我不知道如何处理
我最初的方法是根据每个租约的空置期数对其进行排序,如下所示:
;WITH cte_vacancy_periods AS
(
我有以下疑问。我试图做的是根据DetailTbl中给定Id的值更新HeaderTbl中的Type字段
update HeaderTbl
set HeaderTbl.Type = DetailTbl.Type
from HeaderTbl
join DetailTbl on HeaderTbl.Id = DetailTbl.Id
对于HeaderTbl id,可以有多个DetailTbl id
假设对于给定的Id(假设Id=5),我们在DetailTbl中有7个Id=5。
使用上面的查询,它将
我有各种活动的记录,这些活动的开始和结束时间可以跨越几个小时,比如12:00=13:30。我需要将时间分配为小时,以便将该活动的时间分配为12:00-1小时、13:00、00:30。实现这一目标的最佳方式是什么
以下是创建表、插入和预期结果。如果你还需要什么,请告诉我。谢谢
CREATE TABLE Z_SCHED_ACTIVITY
(
SCHED_ACTIVITY_ID decimal(38),
STARTTIME timestamp,
ENDTIME timestamp,
ACTIVITY_
在Oracle RDBMS中,我希望连接和查询/操作远程JDBC兼容数据库中的数据
理想情况下,我希望通过Oracle数据库链接使用远程JDBC数据库。我希望我能够像其他数据库链接一样:
更新table1@remoteJDBClink
SET col1='Joe';
在我看来,Oracle数据库链接仅限于Oracle为目标数据库创建网关产品的位置。它们确实支持将“通用ODBC”作为目标,但奇怪的是,我不知道如何将“通用JDBC”作为目标数据库
关于如何从Oracle内部查询/操作远程JDBC数
我有shell脚本(批处理作业)从unix环境运行Oracle包。我没有oracle系统访问权限来终止会话
从unix如何终止会话
在oracle中,我使用了下面的查询来kill,但我没有权限
更改系统终止会话“218152254”
QL错误:ORA-01031:权限不足
请告诉我如何在unix中终止shell脚本会话
ps -aef | grep userID
寻找你想要杀死的进程。请注意第二列中的进程ID
kill -9 <processID>
kill-9
通过查看v$pr
我有一个国家标签,它定义了你来自哪个国家,1-5。。我已经写了一个投递列表,让你选择你想搜索的巫婆国家。我在下拉列表中有一个部分,我想选择“全部搜索”。如果country是0,那么我希望它不受限制,就像下面的代码一样,其中(country=@country和town=@town)我只希望它是(town=@town)等等
当设置“选择所有国家”选项时,您可以只为@country发送空值,然后
使用where子句,如下所示:
其中(@country为空或country=@country)
编辑:只是
比如说,我刚刚创建了一个数据库,然后创建了一个登录名,现在我需要为它分配一个用户。因此,我:
CREATE DATABASE [testdb2] COLLATE SQL_Latin1_General_CP1_CI_AS;
CREATE LOGIN testusr1 WITH PASSWORD = 'mystrongpassword';
USE [testdb2];
CREATE USER testusr1 FOR LOGIN testusr1;
但是USE行返回此错误:
数据库“testdb2
我正试图将数据从一个SQLServer数据库和一个存储的proc直接拉入excel电子表格。我正在尝试制作一个仪表板,允许用户选择他们想要查看的特定月份,并提取该月份的数据。一旦数据被提取出来,仪表板将自动计算用户将看到哪些图表,以此类推。不过,这是我第一次从ADODB连接中提取数据,在实际提取数据时遇到了问题。我在试图从记录集中复制的行上出现错误“GO'附近的语法不正确”。任何帮助都将不胜感激
编辑:这是新代码。我现在得到运行时错误3704:当对象关闭时无法执行此操作。当我试图从记录集中复制时
我可以在OleDbCommand中的一个查询中在不同的表中执行两个select语句吗?我正在读取一个.dbf文件,我想在上面填充我的数据集
SELECT * FROM BILLHEAD SELECT * FROM BILLDETA
我犯了个错误
Syntax error in FROM clause.
这是我的密码:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
oLoadD
我有一个ID,例如:
61759092-5066-4D02-A0E4-000084E9E68D
我希望的结果是:
\6\1\7\5
这是我的方式:
select '\' + substring(CAST(idField as varchar(38)),1,1)
+ '\' + substring(CAST(idField as varchar(38)),2,1)
+ '\' + substring(CAST(idField as varchar(38)),3,1)
+
我正在创建一个表,其中主键是一个自动递增的int。这适用于每晚都将从中删除的暂存表。当日常作业第二天重新加载表时,下一个主键是重置回1,还是从前一天的最大值继续执行?如果表中有一个自动递增主键列,结果将取决于您使用的删除方法。使用“TRUNCATE TABLE”方法时,自动增量种子值将重置回1。使用“从中删除”方法时,自动递增种子将保持原来的状态(例如,如果上次插入记录的自动递增字段为123,则下一次插入的记录将设置为124)。截断表重新启动标识将重新启动序列。如果没有重新启动标识,它将在停止的
我正在尝试根据另一列的条件更新列。
像这样的,,
>
服装应用程序| SPV id | SPV应用程序
| test |
| test |
| |
| |
预期:
服装应用程序| Spv id | Spv应用程序
批准的|测试|
批准的|测试|
批准| |批准
批准| |批准
所以,当第2列不为null时,更新第1列,如果第2列为null,则更新第1列和第3列
这是我的密码:
标签: Sql
Select
many-to-manyrelational-database
我需要通过相关记录的精确数组在SQL中查找记录。这是我的示例模式:
员额表
用户表
连接表
如何通过userid=[1,2]数组查找id=2的帖子
UPD。我不知道帖子ID,我需要找到它。2只是我想要得到的一个例子。我需要通过连接表找到与精确关联对象集相关的post
尝试这样使用smth,但不确定这是否是最好的方法
select p.id from posts as p
inner join userpost as up on up.post_id = p.id
inner join users
标签: Sql
outer-joinsqlcode
我运行了这个查询,看起来是正确的。然而,我注意到输出看起来像一堆重复的文本(见下图)。代码有问题吗?
如果是,我如何纠正此异常
SELECT sv.FirstName + ' ' + sv.LastName 'SalesPersonName',
st.[Group] 'TerritoryGroup',st.Name 'TerritoryName',
StateProvinceName 'ShipState',
我使用以下查询更改了一个现有表
ALTER TABLE CodeAccess
WITH CHECK ADD CONSTRAINT CK_CodeAccess_Code
CHECK (dbo.chkCodeList('text1', 'text2', [Codes]) = 'True')
现在,我想从CodeAccess表中删除函数chkCodeList(,)。我试过使用
IF EXISTS (
SELECT * FROM sysobjects WHERE id = ob
我正在尝试从SQLServer中的一个表中收集信息,在该表中我只有读取权限
我想解释我想做什么的最好方法就是展示我想做的事情
USE eMOS2
IF ( OPERATION.CLOSE_DATE WHERE WORKORDER_BASE_ID='73691' IS NULL )
THEN
SELECT
SHED_START_DATE,
SHED_FINISH_DATE
FROM OPERATIONS
我希望执行下面的语句,当分数在1-10,11-20之间时,得到1,2…10的数字。。但是当我执行时,我得到的是空值。。
在这方面没有任何建议吗
select a.score ,
CASE
WHEN stg2.Stats = 'Existing'
THEN
CASE
WHEN a.SCORE BETWEEN 1 AND 10 TH
我在Teradata上。我有一张如下所示的订单表
custID | orderID | month | order_amount
-----------------------------------------
1 | 1 | jan | 10
1 | 2 | jan | 20
1 | 3 | feb | 5
1 | 4 | feb |
我有一个按城市选择行程的查询,希望先按城市1中的行程排序,然后按城市4中的行程排序。有两个城市有很多行程,因此数据库有两个字段:StartCity和StartCity2。此SQL生成错误的顺序:-
SELECT * FROM qryZZ WHERE (StartCity = 1 OR StartCity2 = 1 OR StartCity = 4
OR StartCity2 = 4) Order By Case StartCity When 1 Then 1 When 4 Then 2 End
我的问题是:
我有两张表作业和服务
我试图从另一个表的列数据中更新一列,就像这样
UPDATE [Services]
SET
TeamID = (SELECT [AssignedTeam]
FROM [Assignment]
WHERE [ServiceName] in ([Services].[ServiceName]))
WHERE
EXISTS (
SELECT
有人能解释一下,使用多个带别名的表进行联接吗
我无法让代码工作。。。继续用“无法绑定”给我错误此错误消息用于以下内容:M.ZipCode、C.Member_ID、F.Navn、F.Navn(最后一个)。
我对SQL还是一个新手,我知道我弄错了Zipcode的名称。
为了澄清这一点,我有一个名为Zipcode的表,其中包含Zipcodes,成员需要在members表中包含Zipcode
SELECT
m.Fornavn,
m.Efternavn,
m.Zipcode,
z.City
我有一个表,其中包含多个ID稍有不同的项,我希望将这些项组合在一个公共ID下。我的表如下所示:
ID | Total
alex_dog 1
ben_dog 2
charlie_dog 3
alex_cat 4
ben_cat 5
charlie_cat 6
ID | total
dog 6
cat 15
我希望能够将它们组合到一个表中,如下所示:
ID | Total
alex_
我有一个查询,它根据用户id和两个日期从表中返回数据。日期都是这样的:
2018-10-07T00:00:00.000Z
2018-10-06T00:00:00.000Z
……等等
大多数情况下,查询将提供一个日期范围,如下所示:
SELECT * FROM "some_table" WHERE (user_id = 3 AND TIMESTAMP BETWEEN '2018-10-01' AND '2018-10-05') ORDER BY TIMESTAMP DESC
但有时用户可能会指定
我在这里有点墨守成规。我想使用DECODE()函数为城市位置合并一个列,将部门编号更改为名为“loc”的列的城市名称,类似这样:DECODE(deptno,10,'newyork')。但是我不知道如果代码没有运行,如何将它安装在那里。到目前为止,我所做的一切都没有成功。任何帮助都将不胜感激,谢谢
Create view emp_view_updt as Select e.empno, e.ename, e.job, d.deptno, d.loc from emp e inner join de
我在SQL Server上有一个60列的表。我必须临时删除10-15列中的数据,而不是整个表的日期范围,以便我可以执行一些报告查询,然后在几天后执行另一个报告查询,删除的数据恢复为列。
下表说明了我正在努力实现的目标
表A
|1 |2 |3 |4 |5 |....|55|56|57|58|59|60|
---------------------------------------
|1 |2 |3 |4 |5 |....| 1| 2| 3| 4| 5| 6|
|1 |2 |3 |4 |5 |..
下表显示了每年每月的数据。我想得到每月的平均值
我的表格的示例数据:
month year value
-----------------
01 2017 89
02 2017 09
03 2017 89
04 2017 22
输出应该是
month year output
-------------------------------
01 2017 89
02 2017 (89 + 09) / 2
03 2017 (89
我的数据库中有一个名为User的表。我还有一个.net核心项目,其中内置了身份验证。我想连接到我的数据库,在scaffolding显示我的用户类之后,我想让它从IdentityUser继承
脚手架搭好后,我试着从IdentityUser继承
public partial class User :IdentityUser<int>
{
public int Id { get; set; }
public string Country { get; set; }
列导致Except查询未匹配
select
showID,
startDate,
startTime,
synopsis ,
talents,
titleName,
titleNo,
titleType
from
Master_table
except
select
showID,
startDate,
startTime,
synopsis ,
talents,
title
我相信我今天终于有了一个有效的问题。我正在努力根据UserID+VendorID选择多个表中的最大日期。(然后根据UserID更新每个LastActivityAt
但是,只要我在PageStatistics上引入MAX(),它可以包含许多条目,因为它是一个运行日志(本质上是用户活动),我的查询就会从查询中跳出来。(MSSQL加入更新)
子查询
UPDATE [UserRoleMappings] SET LastActivityAt = (
SELECT (SELECT Max(v)
有没有办法在sql查询中只包含唯一的行?我正在处理航班信息的一个家庭作业问题,我不知道如何只在唯一的行上执行聚合函数。我需要这样做,因为我必须返回诸如平均距离和延迟时间之类的内容,但是有重复的行。例如,如果这是我的数据:
FLIGHT DISTANCE DELAY
1230 200 5
1230 200 5
1230 5 6
我在航班号上使用了select distinct,它无法捕获唯一的第三行。基本上
您好,我在vb.net中的asp.net web表单中有此查询,仅在数据库中有3500个数据,但执行此查询需要10秒钟,我怀疑它在查询中
这就是问题所在
/* Formatted on 11/12/2019 2:37:37 PM (QP5 v5.318) */
SELECT C01.CAR_NO,
C01.REFNO,
NVL ((SELECT DEPT_DESC
FROM EMP_DEPT
我有一个带有Postgres db的Express API,并使用Knex/ObjectionJS/Raw SQL进行查询
在DB中,我有一个Acts表s.t.用户每天可以创建一个Act。以下是模式:
t.increments('id').primary()
t.string('deed')
t.integer('users_id').references('users.id').onDelete('CASCADE')
t.datetime("created_at");
t.datetime(
我正在尝试使用Power Query从SQL Server检索值。我想参数化表名。就像我想使用一张工作表中的单元格值一样(Sheet1!A1=Tablename1)
如何在电源查询中实现上述条件?您可以创建命名范围表并参考它:
= Excel.CurrentWorkbook(){[Name="table"]}[Content]{0}[Column1]
或使用参数表:
谢谢Aleksei。但是我想知道如何在我的SQL中获取这个参数。如Select*from Excel.CurrentWorkbo
我对用于ETL的SQL有一个书面问题
我的Oracle DB有一个列a,其中包含99999997259或4121.375515。我需要将此值转换为十进制(15,6)。数据类型decimal(15,6)位于将加载数据的目标上
任何建议
TIA以下是将数值四舍五入到小数点后6位的方法。条件:它应该包含
有效值
select cast(round(ColumnaA,6) as DECIMAL(15,6)) from table;
9999999997259不适合DECIMAL(15,6)DECI
我正在使用Microsoft Access 2003,这是SQL tho的新手。我不知道为什么这行不通,谷歌也帮不了我。表“K_Lehrer”是存在的,这里的代码是我唯一编写的
我的代码是
CREATE PROCEDURE testprocedure
AS
BEGIN
SELECT * FROM K_Lehrer
END
错误(已翻译):
CREATETABLE语句中的语法错误
Microsoft Access 2003不支持存储过程作为sql。
我试图在cur.execute中运行INSERT-INTO-SELECT语句。代码执行时没有任何错误,但表中没有插入任何记录
以下是表格数据:
我执行以下查询
cursor = conn.cursor()
query = 'INSERT INTO destination_test_hist SELECT * FROM destination_test'
cursor.execute(query)
conn.commit()
我哪里做错了?我需要一些语法方面的帮助,我没有看到任何错误
只需检查
我在一个组中聚合和使用案例时遇到一些问题
目标是检查每个事务键的指标。如果存在“1”指标,则我们必须选择最大值(更改日期)。如果全部为零,则为最小值(更改日期)。同时,与变更日期关联的初始密钥必须作为最终密钥填充
输出如下所示
你能试试下面的吗
如果我观察你提供的测试数据
首先,我们尝试通过name和trxn\u键来查找组内的max(指示符)
第二,基于上述值,我们决定是否采用min(更改日期)和min(初始密钥)或max(更改日期)和max(初始密钥)
因为您不需要聚合结果,所以我们需要使用
我需要一个sql查询的帮助,如果条件存在或不存在,我想在这里获取数据
select employee.*, stream.*, priority.*
from employee emp,
stream st,
priority pr
where emp.st.id = st.id
and str.pr.id = pr.id
所以这里的优先权不是强制性的。值可能存在,也可能不存在。因此,如果优先级不存在,则应为emp.st.id=st.id获取数据。若它存在,那个么当然应
egroupbyaggregation问题——这是我的疏忽)。同时感谢您发布了一个替代解决方案,这非常有用。“但是,如果您关心的是重复的条件,那么我应该说,如果您能够避免它们,那总是更好的。”这正是我所寻找的。我应该更强调的是,OP中的示例查询实际上并不相关(我的实际查询没有groupby聚合问题——这是我的疏忽)。还感谢您发布替代解决方案,这非常有帮助。
SELECT a.*,
MAX(z) OVER (PARTITION BY date)
FROM a
WHERE a.x =
我的表格中有这样一列:
START_ST_GEOM
POINT(-122.3955263 37.7766392)
POINT(-122.2682473 37.8090126)
POINT(-122.4219039 37.7633158)
如何使用毕达哥拉斯定理在单独的列中提取经度和长度以计算两点之间的距离?请使用您正在运行的数据库标记您的问题:mysql、oracle、postgresql。。。?您还需要显示此示例数据的结果,并解释计算的细节。