我需要你帮我做个不同的查询。下面的查询返回表的所有distinct值,但我也希望看到其余的列,而不仅仅是distinct列。我怎么能这样做呢?
我尝试了几次更改,但都不起作用。使用Oracle和SQL Developer。
select distinct field1 from table1
where field2 in ('A','B','C')
我正在尝试使用order-by语句对多个联合选择进行分组。(不是GROUP BY组,而是可视化分组)
请考虑以下内容:
SELECT 'First Query' QRY, Field1, Field2
FROM Tabl1
WHERE Field1 <= 5
UNION ALL
SELECT 'Second Query', Field1, Field2
FROM Tabl1
WHERE Field1 >5
ORDER BY QRY, Field1;
当我试图在oracle数据库上运行这样的查询时,我得到了ORA-00
SELECT FIELD1, FIELD2...
FROM VIEW1
WHERE ID IN (SELECT DISTINCT ID FROM TABLE1 WHERE NAME_FIELD LIKE '%ABC%')
ORDER BY FIELD1, FIELD2;
从视图中选择时,其中一个条件是this WHERE ID IN (子查询)。将引发oracle错误,如标题所示。
但是,如果我先运行子查询,然后用返回的it替换子查询,它就能正常工作。
或者,如果我将子查询附加到视图查询中,它也可以工作。
我做错了什么?谢谢。
我需要您的帮助,我有一个简单的查询,但不确定如何相应地更改类似的通配符。这将查询Oracle数据库。
你能帮下忙吗,
select * from table_name
where field1 like '1%'
or field2 like '2%'
or field3 like '3%'
or field4 start with 4 but not 4123
我有一个表,其中有ID、FIELD1、FIELD2和所有类型的数字。
我想在FIELD1和FIELD2上找到函数的最大值,并在ID旁边显示。
我试着
SELECT ID, MAX(SQRT(FIELD1 + FIELD2)) AS CALC
FROM TABLE;
但是它返回ORA-00937: not a single-group group function。
我在中尝试了这些解决方案,但它们都有自己的错误。
SELECT * FROM (
SELECT ID, SQRT(FIELD1 + FIELD2) AS CALC,
RANK() OVER (ORDER BY CAL
在mysql中有没有与oracle的rowid等价物?
delete from my_table where rowid not in (select max(rowid) from my_table group by field1,field2)
我想创建一个与此查询等效的mysql!
我想要做的是: my_table没有主键。我正在尝试删除重复的值并添加一个主键(由field1、field2组成)..!!
我有一个查询--像这样的:
SELECT * FROM my_table WHERE foreign_key = 'abc' AND field1 = 'foo' AND field2 = 'bar';
是否有办法找出where子句的哪一部分负责排除数据,而不是数据的超集?例如,与查询B相比
SELECT * FROM my_table WHERE foreign_key = 'abc';
我知道,您可以在一个单独的查询中获取where子句的每个部分,并获取查询B的不同数量。有没有一种更有效的方法来做到这一点,还是一种最佳实践?
当使用Oracle作为我的后端时,此查询会给出所需的结果。
select field1,
field2
from
(select field1,
field2,
LEAD(field2) over (order by r) name
from
(select rownum r,
field1,
field2
from t3
where field2 = 1
)
)
where v !=
好的,我从其他帖子/站点中了解到,下面的查询风格将原子地执行:
INSERT INTO Foo(field1, field2)
SELECT @field1, @field2
WHERE NOT EXISTS (SELECT * FROM Foo
WHERE Field1 = @field1
OR Field2 = @field2)
这将用于满足field1和field2都是唯一的设计要求。到目前为止,一切都很好。
但是,如果这样的记录已经存在(查询插入0行),如果我想知道哪个字段已经有一个具有相同值的记录,
让我们来看一个简单的查询
SELECT SUM(Field1), Field2 FROM TableName GROUP BY Field2
在我的例子中,我知道field2 (1-5)最多有5个不同的值,所以这个查询将返回最多5行(可能更少,例如,如果没有Field2值=2的记录)。
我感兴趣的是根据它所属的Field2值将SUM(field1)中的值存储到OUTPUT参数中。目前,我从存储过程(简化)执行此操作:
SELECT @prm1 = SUM(Field1) FROM TableName WHERE Field2=1
SELECT @prm2 = SUM(Field1) FROM
我有一个类似于下面的查询,其中我需要从另一个表返回几个字段作为子查询。是否有一种方法只能将查询调用到TABLE2并使用该查询的结果填充所需的各个字段?我正在寻找类似于如何在LINQ中使用let语句的东西。谢谢。
select
(select field1 from TABLE2 where id = 1) as field1,
(select field2 from TABLE2 where id = 1) as field2,
(select field3 from TABLE2 where id = 1) as field3,
(select field4 from TABLE2 whe
以这个示例查询为例:
SELECT *
FROM some_table
WHERE field1 AND field2 IN
(
SELECT field1, field2
FROM some_table
WHERE COUNT(field1) > 5
) AS subquery
)
我希望在最后的结果集中返回field1和field2,就像从这个内部查询返回结果集中的field1和field2一样。
SELECT field1, field2
FROM some_table
我有一个表table,它有三个字段:id、field1和field2。
我需要创建的SQL查询应该选择id的field1 LIKE 'Some string'所在位置,但是如果field1是NULL,我应该在伪SQL中对field2执行筛选:
SELECT id FROM table
WHERE (IF `field1` IS NULL THEN `field2` ELSE `field1`) LIKE 'Some string'
我如何在MySQL中实现这一点?
谢谢大家的关注!
我想使用一次查询的结果,并根据结果继续
我正在使用Oracle
if
SELECT * FROM TABLE_ABC is null
then
Print 'NO result';
else
SELECT * FROM TABLE_ABC
预期输出
If table is NULL : No Result
if table is not Null the the content of table
编辑: OOPS,显然在我的测试表中,我忘记将id设置为自动增量。在设置它之后,查询将按预期的方式工作。对不起大家!
我有两个表,Source和Dest。
源具有字段field1和field2。
Dest有字段id、field1和field2。Id是主要索引和自动增量。
我尝试了以下查询:
INSERT INTO dest (field1, field2)
SELECT field1, field2
FROM source
WHERE NOT EXISTS(SELECT *
FROM dest
WHERE (source.
有两个字段可以用来搜索表: field1、field2。它们在所有记录中都不是唯一的,既不是单独的,也不是组合的。
所以我为它们添加了索引:
方法一:
alter table xx add index (field1, field2);
alter table xx add index (field2);
方法二:
alter table xx add index (field1);
alter table xx add index (field2);
我的问题是,这两种方法之间的区别是什么?对于以下每个select查询:
select * from table xx where field1
我有一个PostgreSQL数据库,只有SELECT权限。在这个DB中,有两个表具有相同的结构(相同的列)。
我需要在每个表中写几个查询并加入结果。
有一种方法可以写这样的查询吗?
SELECT
field1,
field2,
field3
FROM
table1
AND
table2
WHERE
condition;
没有答案,这也不是我的问题。
我对在甲骨文里查询很陌生。我使用LISTAGG构建了一个oracle查询,如下所示:
select a.field1,
LISTAGG(d.field2, ';') WITHIN GROUP (ORDER BY d.field2) AS FIELD_ALIAS
from
table1 a, table2 b,
table4 c, table5 d
where
a.field2 = b.field2
and
b.field2 = c.field2
and
c.field3 = d.field3
group by
a.field1
返回:
field1 field2
我对以下查询有问题:
insert into table
select *
from table
on duplicate key update field1 = field1 + 10
我正在尝试更新一个表中的字段,当然我不能使用update语句,因为我需要更新表中的所有行。当我尝试执行查询时,mysql返回错误:
ERROR 1052 (23000): Column 'field1' in field list is ambiguous
"table“和"field1”是示例名称
-更新--
查询也可以是:
insert into table
select
可能重复:
嗨,我正在尝试从oracle数据库中选择随机记录。我尝试使用以下查询:
select field1
from (select field1 from table1 where field2='SAMPLE_VALUE' order by dbms_random.value)
where rownum <2;
这是很好的工作,但它是极其缓慢和昂贵的。
我们是否有更快的方法来达到这个目标?
我想使用两个like语句对数据库运行查询。
例如:
SELECT row FROM table WHERE field1 LIKE 'value_%_topic' AND field2 LIKE 'value_%_name'
我希望能够匹配%'d参数,这样匹配value_1_topic和value_1_name的行将返回,但value_2_topic和value_3_name不会。
这个是可能的吗?
我正在对一个WordPress wp_postmeta表运行它,使用的是ACF的中继器字段。
我有许多查询,它们都使用相同的WHERE子句,例如:
--Query1
CREATE PROC Query1
@Param int
AS
BEGIN
SELECT
field2,
COUNT(field2)
FROM
some_table
WHERE
field1 = condition1
AND field2 = @Param
GROUP BY
field1
END
--Query2
CREATE PROC Query2
@Param int
不幸的是,我的SQL相当生疏。我目前有一个类似这样的声明:
SELECT field1, field2, field3 FROM table_name WHERE
field1 = 'A' OR field2 = 'B' OR field3 = 'C' ORDER BY
CASE WHEN field1 = 'A' THEN 1 ELSE 0 END +
CASE WHEN field2 = 'B' THEN 1 ELSE 0 END +
CASE WHEN
在Postgres中,如果我打算有时在WHERE子句中使用只带field2的查询,那么在下表中创建一个索引对查询性能有好处吗?
CREATE TABLE my_table (
field1 INT NOT NULL,
field2 INT NOT NULL,
CONSTRAINT pk_my_table PRIMARY KEY (field1, field2)
);
示例查询(“获取field2 =my_value中的所有记录”):
SELECT * FROM my_table WHERE field2 = my_value;
换言之,我亦应包括:
CREAT
我正在构造一个查询,在数据库行的几个字段中搜索关键字,我想知道的是,是否有任何方法可以返回结果所在的字段。
例如,使用如下查询:
SELECT *
FROM table
WHERE field1 LIKE "%keyword%"
OR field2 LIKE "%keyword%"
OR field3 LIKE "%keyword%"
如果关键字出现在field2中,我希望返回该行,以及标识它是在field2中找到的附加信息。这个是可能的吗?
我想要一个简短的SQL-command (我使用的是Oracle SQL)
SELECT * from table1
WHERE field1 not like '%test%'
AND field2 not like '%test%'
AND field3 not like '%test%'
是否有等同于该命令的语法?我在想像这样的事情
SELECT * from table1
WHERE '%test%' not in (field1, field2, field3)
但不幸的是,这种语法不起作用?!非常感谢所有的提示
我希望避免重写下面相同的查询(对于每个唯一的表):
Insert Into dbo.DatabaseNEW (Field1 , Field 2)
Select Field 1, Field 2 FROM OldDatabase.dbo.[Table 1] WHERE DESCRIPTION LIKE 'Something';
Insert Into dbo.DatabaseNEW (Field1 , Field 2)
Select Field 1, Field 2 FROM OldDatabase.dbo.[Table 2] WHERE DESCRIPTION LIKE
我想知道如何才能做到这一点,而不必写出(或使DB进程)成为查询的主要部分两次。
我的场景是,我正在查询Oracle企业数据库(我受到DBA的限制,所以有些解决方案可能无法工作,但我不确定自己在多大程度上受到限制,直到我尝试并且不知道该在哪里使用它)。
目前,我的查询如下:
SELECT
a.Field1,
a.Field2,
b.Field3,
b.Field4,
c.Field5
FROM
a,
b,
c,
WHERE
我有一个包含许多字段的表
我的声明:
select * from
[table]
WHERE
(field1 LIKE 'test%' or field2 LIKE 'test%')
AND
(field1 LIKE 'foo%' or field2 LIKE 'foo%')
AND
public='1'
我有一个记录: field1='foobar',field2=‘this’,public='1‘,但是查询不匹配这个!
有人能帮上忙吗?
在phpMyAdmin的SQL窗口中,显示了查询之间的分隔符;。它运行我在其中的所有查询,只显示最后一个查询的结果。我如何让它将结果合并为一个?
SELECT field1, field2, field3, field4, field5, field6
FROM table WHERE field2 = "AA" AND field3 LIKE '%BBB%';
SELECT field1, field2, field3, field4, field5, field6
FROM table WHERE field2 = "AA" AND
我有以下返回重复值的查询:
SELECT
[t].[Field1], [t].[Field2], COUNT([t].[Field2])
FROM [dbo].[Table1] AS [t]
WHERE [t].[Field2] <> ''
GROUP BY [t].[Field1], [t].[Field2]
HAVING COUNT([t].[Field2]) > 1
考虑到这个语句,我想编写一个update语句来清除在这些条件下的Field2。我该怎么写这个?
我在Rails 4.2中(但很高兴了解Rails 5是否做了4不做的事情),并尝试生成SQL查询(至少在Postgres中有效),如下所示:
SELECT "mytable".* FROM "mytable" WHERE ((field1, field2) IN ((113, 2), (159, 1), (111, 3))
我知道,如果这是一个像这样简单的数组查询:
SELECT "mytable".* FROM "mytable" WHERE field1 IN (113, 159, 111)
我会用Rails来写这个:
whe
在oracle-db中,可以将值从表A插入到表B,如下所示
Insert into table_a values
Select * from table_b where ID = 10
;
如果结构是相同的。我如何在MYSQL中做到这一点?我的编辑器给了我一个sytanx错误。
谢谢4你的答案!
Greetz
我试图编写一个查询,将Oracle SQL中的2种CLOB数据类型从不同的表中相互比较,以验证它们是否相同。
我试过这个例子:
Select key, glob_value
From source_table Left Join target_table
On source_table.key = target_table.key
Where target_table.glob_value is Null
Or dbms_lob.compare(source_table.glob_value, target_table.glob_value) <> 0
这就
我的目标是获取报表数据集中三个不同列的最大值。我在SSRS查询设计器中对新的数据集使用此查询:
SELECT SurveyID,
(SELECT Max(valueColumn)
FROM (VALUES (field1), (field2), (field3)) AS TableOfValues(valueColumn)) as MaxVal
FROM ENVIRONMENTAL_EVW
WHERE SurveyID = @surveyid
然而,与其像通常那样弹出对话框窗口并给我一个声明变量的机会,我只是得到了“必须声明标量变量”作为