我正在将数据库从一个项目迁移到另一个项目,而表没有相同的格式,所以我必须正确地格式化数据。
下面是几个查询示例:
INSERT INTO db1.first (a,b,c)
SELECT x.a, z.b, x.c
FROM db2.t2 x, db2.t3 z
WHERE x.id = z.id
INSERT INTO db1.second (q,w)
SELECT x.d, z.e
FROM db2.t2 x, db2.t3 z
WHERE x.id = z.id
这里发生的情况是,为了导入一些数据,我使用了相同的SELECT查询(在我的实
我在删除具有触发器的表中的行时遇到问题,该触发器调用第二个表的触发器,该触发器更新第一个表中的行。下面是描述:
Table A (id,b_table_count)
Table B (id,a_table_id_fk)
表A有DELETE之前的触发器,它有指令:
BEGIN
DELETE FROM b where a_table_fk = OLD.id;
RETURN OLD;
END;
表B具有触发器AFTER DELETE with指令:
UPDATE a SET b_table_count = b_table_count-1 WHERE OLD.a_table_id_fk
我刚进入甲骨文数据库,能帮我理解这个查询吗?此查询从表中删除重复项。
DELETE FROM table_name A
WHERE ROWID > (SELECT min(rowid)
FROM table_name B
WHERE A.key_values = B.key_values);
欢迎任何改进查询的建议.
编辑:不,这不是作业,我不明白的是,子查询正在做什么,ROWID > On子查询是做什么的?
查询的
我正在尝试从问题表和关系表中删除与测验id匹配的所有记录。该查询适用于select语句,但不允许删除该语句。
@quizId是我传递到存储过程中的测验ID值。有人知道如何用一条语句从两个表中删除吗?有可能吗?
DELETE tGeoQuestions as a, tGeoQuizToQuestion as b WHERE b.quizId = @quizId AND a.id = b.questionid
我有一个查询,它返回与这些表相交的所有记录,但我希望表1(例如d、e、f)中有更多列,但这些列不在表2中。
(select a,b,c from tab1) where d<'31-dec21'
intersect
(Select a1,b1,c1 from tab2)
我应该使用什么查询从tab1获得列a、b、c、d、e、f,其中包含a=a1、b=b1和c=c1?
我有一个如下形式的sql表:
id | bookid | version
1|B1|1
2|B2|1
3|B1|2
4|B1|3
5|B1|4
6|B2|2
7|B3|1
其中id是主键。除了最新版本之外,我想找出每本书的所有id。version列的类型为bigint。
应该从结果中忽略B3,因为它只有一个版本。
因此,基本上我的结果表应该是:
1|B1|1
2|B2|1
3|B1|2
4|B1|3
我的想法:
select id from titles where id not in (
select id, bookid, max(version) from titles group by
我有一张临时表-
CREATE TABLE #TempMain(
A int,
B int,
C int
)
我只运行以下插入查询一次,以填充#TempMain
insert into #TempMain
SELECT
A,
B,
C
FROM dbo.entity where RequestId = 1241 and ClassId = 25 and type=
我有一个表,它有最多50行的查找值列表。目前,我每次都在查询这个表,以寻找一个没有效率的特定值。因此,我计划通过一次从存储库中使用findAll将所有的值作为一个列表来优化。
List<CardedList> findAll();
我的问题是A类-> B类-B类,它保存着这个存储库.当A类调用B类时,它是否每次都会查询findAll?
Class A {
//foreach items in the list call Class B
b.someMethod();
}
Class B {
@A
我正在尝试与数据透视表的一些计算,从另一张纸,然后它的范围。通过自定义计算,可以在枢轴表内或在枢轴表末尾添加列。
Sheet 1 format
A B C D
Sheet 2 format
D E F C B
Sheet 3 format
D E F C B A
另一种选择是如何使所有工作表B中具有不同数据源的透视表适合每个人。我尝试了SQL查询,但它不会工作,直到它将以相同的格式对所有的人。
如果你能为这种情况提供一些解决方案,这将是有帮助的。
我有两个dbs,让我们称它们为写b和readdb。Readdb有一个用于写b的dblink,还有一个指向该dblink上的表的视图。
我对该表进行了更新,该表的视图指向dblink,然后从该表读取。即使我将隔离级别设置为SERIALIZABLE,在事务提交之后,我似乎也会看到几秒钟的旧值。
这说得通吗?
B.书面形式:
create table mk.dblink_test (
id varchar2(16),
status varchar2(16));
insert into mk.dblink_test
SELECT rownum, 'ACTIVE'
FROM du
在SQL Server 2016及更高版本中,使用临时表或使用实际表的进程进行处理的可取之处和优势是什么?
以下是使用临时表进行处理的SQL查询:
DROP TABLE IF EXIST #temp1;
SELECT
a.col1 AS col1, a.col2 AS col2,
b.col1 AS col3, b.col2 AS col4
INTO #temp1
FROM table1 AS a
INNER JOIN table2 AS b ON a.id = b.id
WHERE a.col1 = 'best_practice'
OR a.col
我尝试创建一个表作为查询的选择结果,如下所示:
如果不存在x,则创建表(选择.)
这很好,并且创建了一个新的表x,其中包含了足够的列和内容。但是,当我重新执行ddl查询时,现有表将再次填充相同的内容(所以加倍.)
在第一次执行之后,表x:
1 a 2 b 3 c
在附议后,表十:
1 a 2 b 3 c 1 a 2 b 3 c
为什么?以及如何解决这个问题?因为这是由我的应用程序中的一个用户执行的,所以它可以多次执行,这就是为什么我把如果不存在,就不会每次都重新创建表.
诚挚的问候,
我有一个带有PostgreSQL数据库的Ruby on Rails应用程序,它的结构如下:
class A < ActiveRecord::Base
has_many :B
end
class B < ActiveRecord::Base
has_many :C
end
class C < ActiveRecord::Base
attr_accessible :x, :y :z
end
它们只有几个A,而且增长缓慢(比如一个月5个)。每个A有数千个B,每个B有数万个C(所以每个A有数百万个C)。
A是独立的,来自不同A的B和C永远不需要在一起(即在同一查
我有两个表(例如在这里创建)如下:
X1 Y1
a 1
b 2
c 3
d 4
和
X2 Y2
a 5
m 6
n 7
b 4
我要输出栏:
X Y1 y2
a 1 5
b 2 4
c 3 0
d 4 0
m 0 6
n 0 7
我试过的是:
SELECT (A.X1 UNION B.X1) AS X, A.Y1,B.Y2
FROM A FULL OUTER JOIN B
ON A.X1 = B.X2
(上面提到的查询只是示例)。执行此查询后,我将收到错误消息:
嗨,我想合并两个表,但我不确定表是否退出,这是我的查询:
select a from table
union
select case when exists(select a from table1) then (select a from table1)
else (select a from table2) end;
拿着这个
错误:错误4840:用作表达式的子查询返回多行
我需要在子查询中使用限制1,但这不是我想要的结果。
你还有其他建议吗?谢谢
例如,我在本地env中创建了它们,用于测试:
表1
CREATE TABLE public.table1
(
a int
我遇到了一个问题,我需要运行一个查询,这个查询应该从一个主表中获取一些行,并且有一个指示符,如果主表的键存在于一个子表中(关系一对多)。
查询可能如下所示:
select a.index, (select count(1) from second_table b where a.index = b.index)
from first_table a;
这样我就可以得到我想要的结果( second_table中的0= no取决于记录,否则就会有),但是我正在为从数据库中获得的每条记录运行一个子查询。我需要为至少三个相似的表获得这样的指示符,并且主查询已经是至少两个表之间的一些内部连接.
我的问
我有一个表格,每个N_ID(即43,54,32,46和24)通常有3条记录。但是由于某种原因,带有"21和39“的N_ID只有一条记录。
要求:查询所有记录,不包括C_Type!=2,且状态为1。
使用的查询:
Select A.N_ID, A.C_Type, A.C_File_Type, A.Status
FROM TABLE A
where A.Config_Type != 2
AND A.Status = 1
AND EXISTS (Select 1
from TABLE B
使用Server 2008 R2:我有一个名为Data的表。我希望删除活动A和活动B都发生在同一帐户的同一日期范围内的所有行(如下所示,按字段“key”表示),因为它们一起构成了"wash“。
如果我编码:
Delete Data D1
from Data1
inner join Data D2
on D1.key = D2.key
and D1.Activity = 'A'
and D2.Activity = 'B'
and D1.TranDate < EndDateRange
and D1.TranDate >= BeginDateRan
我在PostgreSQL中有一个表,在该表中,我希望选择任何新的“滴答”值,这些值不在之前的"trade_date“表中。
以下查询需要1分钟才能运行,该表包含大约56k行:
SELECT DISTINCT a.trade_date, a.ticker, a.company_name
FROM t_ark_holdings a
WHERE a.ticker NOT IN (
SELECT b.ticker FROM t_ark_holdings b WHERE b.trade_date <a.trade_date
我对postgresql有一些复杂的查询,它从几个表中获取数据,这些表通过外部的左连接操作符相互连接。
我需要测试这些查询,所以我需要一个fixtures,用于测试只包含我需要的数据,而不是整个表的数据。
我如何才能看到这些连接子查询的中间结果来将其用作fixture?
例如,我有表A、B和C以及查询
SELECT A.column
FROM A
LEFT JOIN B ON A.b_id = B.id
LEFT JOIN C ON A.c_id = C.a_id
当表的某些部分显示需要的数据或类似的内容时,我如何从表a:{参与查询的A表的一部分},从表B{参与查询的B表的一部分