我做了以下工作,似乎没有遇到任何问题。在与UNION结合的不同查询中使用相同的别名是否不合适?
SELECT table1.a,t.b,t.c
FROM table1
INNER JOIN table2 AS t ON t.table1_id=table1.id
WHERE t.fk=123
SELECT table2.a,t.b,t.c
UNION
FROM table3
INNER JOIN table4 AS t ON t.table3_id=table3.id
WHERE t.fk=123;
不知道为什么两个查询独立地执行,并且当组合在一起时,将查询带入一个无限循环。
select * from TableA
where TableA.ColumnA NOT IN (subquery..) --> EXECUTES FINE
select * from TableA
where TableA.ColumnA IS NULL OR TableA.ColumnA = 0 --> EXECUTES FINE
但是当上面的查询组合在一起时,查询就会进入无限循环。
select * from TableA
where TableA.ColumnA NOT IN (su
我需要生成一个类似以下内容的查询:
(select * from ... where .. and .. order by .. limit ..)
union all
(select * from ... where .. and .. order by .. limit ..)
order by ..
使用SQLAlchemy,我创建了两个查询对象,如下所示:
q1 = Session.query(..).filter(..).filter(..).order_by(..).limit(..)
q2 = Session.query(..).filter(..).filter(..).ord
我在尝试使用UNION SQL查询链接5个表时遇到问题。其中一个问题是,由UNION分隔的每个SQL查询所需的元素数量是不同的。当我在查询中使用'‘使每个查询中的元素数量相等时,它只显示第一个查询的结果。以下是链接5个表的查询。
(SELECT a.a1,b.b1
FROM a,b
WHERE a.a2 = b.b2)
UNION
(SELECT a.a1,c.c1
FROM a,c
WHERE a.a3 = c.c3)
UNION
(SELECT a.a1,d.d1,d.d2
FROM a,
我不想使用UNION语句在只有一个mysql查询的2个数据库中获得安全的信息。
第一个要选择的是数据库sport,另一个来自dewiki。
如果我发送此请求,则没有错误,但最多有29个BLOB-results。
如果我打开它,就会出现像SELECT page_title FROM dewiki.page: Database '' does not exist.这样的错误。
这是我的sql-语句:
(SELECT teamName FROM sport.leagueTeams WHERE teamName LIKE '%werder%')
UNION
(SELEC
我有一个查询,需要几分钟才能运行。我想我可以让它像四个单独的查询那样更快地运行,然后是一个UNION。关于四个独立的查询部分,我至少是正确的。他们从最慢到最快的速度,~7秒,~1秒,<1秒和<1秒。
所以我认为所有这些的UNION会在最慢的时候运行,大约7+1+1+1=10秒。但是,当我运行这个UNION查询时,需要超过100秒。
(select id from view_macatawa_prospect_match_first_and_last_name)
union
(select id from view_macatawa_prospect_match_full_name)
在中,我发现了一个奇怪的语法:
(SELECT * FROM `articles`
WHERE date >= UNIX_TIMESTAMP(DATE(NOW() - INTERVAL 30 DAY))
ORDER BY `views` DESC
LIMIT 20
) ORDER by `views` ASC
不过,mysql很好地执行了它。
为什么我认为它应该失败:
子查询没有别名
整个查询缺少SELECT子句
我发现它是出乎意料的运行,没有一个解释,为什么它工作。
它不符合在上定义的语法
那么,为什么它是有效的?有推荐信吗?
我正在创建一个SQL查询/子查询,它将返回一个“上课日”列表。我使用的查询似乎不能识别来自子查询的值,我不知道为什么。如果我运行子查询,我会得到正确的值。由于某些原因,当我试图同时运行整个查询和子查询时,它不能正常工作,并且我只得到逗号分隔列表中第一个值的结果。如果我运行下面的查询,我只得到tblclasses.cla_ID =1234的结果: SELECT
*
FROM
classdays
WHERE
classdays.classday_classid IN (SELECT
CONCAT_WS(', ',
有两个Hive表使用相同的源和相同的逻辑创建,但查询略有不同:
表1查询如下:
create table test.table1 stored as orc as
select
f1,
mc.f2 as f2,
mc.f3 as f3,
f4
from src.test_table lateral view explode(multiple_field) mcTable as mc
union all
select
f1,
f5 as f2,
f6 a
目的:
从三个不同的列中选择所有不同的值,每个列位于不同的表中: QueryA.Att1、QueryB.Att2、QueryC.Att C。
返回第四个表中单个列中的所有选定值:表1.Field 1
“插入”行不起作用。其馀部分在删除第一行时工作(进行查询)。
其馀部分在删除第一行时工作(进行查询)。
INSERT INTO [Table1].Field1
SELECT DISTINCT [QueryA].Att1
FROM [QueryA]
UNION
SELECT DISTINCT [QueryB].Att2
FROM [QueryB]
UNION
SELECT DISTIN
目前,我有一个CTE,它正在构建一个数据列表和一个随机行号
我想要做的是根据一些条件输出几个联合在一起的查询。使用联合查询可以很好地执行查询,但是当我向任何查询添加限制时,它就不能工作了。
有没有一种方法可以运行我的查询并获得不同的子集?
示例:
with selection as (
select account, address, type, random(1000)
from details
)
select
account,
address
from details
where type = 'a'
order by random
limit 50
un
我已经搜索过,但没有找到任何好的和漂亮的解决方案。如下所示,解决方案2、3和4都可以工作。然而,SQL代码又长又丑,而且只有解决方案4是快速的。一定有一个更整洁的方式来编码这个吗?我要的是漂亮的外表。也是快速的查询。
我想做些像这样整洁的事情:
SELECT pd.ean, pd.stocklist, pd.stock_is_current
FROM price_data pd
WHERE pd.ean IN (SELECT ean, ean2, ean3, ean4, ean5 FROM product_data WHERE ean = 3607343811835')
我有一个很大的查询,它也会返回非常大的响应。该查询如下所示:
SELECT group, subgroup, max(last_update) FROM
(
SELECT a as group, a1 as subgroup, d1 as last_update FROM....
UNION ALL
SELECT b as group, b1 as subgroup, d2 as last_update FROM....
UNION ALL
SELECT c as group, c1 as subgroup, d3 as last_update FROM
我有一个数据库的游戏,文章(评论+预览)和视频(视频评论+视频预览)。我有一个与id 233的游戏,我想找到一个评论,一个预览,一个视频评论和视频预览,如果这些是存在的。
为此,我使用以下查询:
SELECT (SELECT article_url
FROM articles
WHERE articles_game_id = 233
AND artikel_sort = 'review'
AND article_online = 1
ORDER BY articl
今天看到一个同事在运行一个问题,我无法解释为什么或者为什么它没有失败。该查询(摘要):
UPDATE table1
SET columnToUpdate = 1
WHERE recordID IN (
SELECT recordID FROM table2 WHERE table2column IN ( *list of values*))
问题是,他把只出现在recordID中的table1误认为是personID,而personID在表1中是PK,在表2中是FK。
我原以为查询不会运行,因为子subselect无法解析(实际上,如果您单独运行子subselect,它将失败)。相反,运行上面
对于如何结束这个查询,我遇到了一个问题,因为我一直在BigQuery中出错。
这是一个相对较大的查询,几个联合都遵循几乎相同的语法。当我在子查询之后结束查询时,我会得到一个错误。
错误:语法错误:预期")“,但语句结束时为133:54。
所有的联合都遵循相同的语法--只是来自不同的表。
UNION ALL
SELECT
report_date,
device_category,
data_source,
source,
medium,
LOWER(campaign_name) AS campaign_name,
con
我正试图将我的数据库表直接导出到csv文件中,但得到的错误如下所示
1054 -在“order子句”中未知列“callstart”
SELECT 'Date','callerid','Called Number','Code','Destination'
UNION ALL
SELECT
CONVERT_TZ(`callstart`,'+00:00','+02:00') as call_date,
callerid, callednum, pattern, no
我开始更好地理解PostgreSQL索引,但我遇到了OR条件的一个问题,在这个问题上,我不知道如何优化索引以获得更快的查询。
我有6个条件,当单独运行,似乎有一个小的成本。下面是一个经过修剪的查询的示例,包括查询计划计算的时间。
(注意:为了降低复杂性,我没有输出下面这些查询的实际查询计划,但它们都使用nested loop left joins和index scans,这与我所期望的适当索引一样。如果有必要,我可以包括查询计划,以获得更有意义的响应。)
EXPLAIN ANALYZE SELECT t1.*, t2.*, t3.*
FROM t1 LEFT JOIN t2 on t2.i
在一个全新的MS access2010数据库中,我使用ODBC连接从SQLite数据库链接到两个表。我有以下联合查询:
SELECT Calibration_Header.Gage_ID FROM Calibration_Header
UNION SELECT CHArchive.Gage_ID FROM CHArchive;
如果我使用sqlite3命令行应用程序对同一数据库执行此SQL,它将成功运行并返回正确的数据。当我在MS Access 2010数据库中运行查询时,我收到以下错误消息:
ODBC--call failed.
near "(": syntax error
这是我的第一篇文章,我是SQL的初学者,所以真的希望你们能帮助我解决这个问题。
当我想在IN()中写入子查询时,我只能写一个子查询。如果我再放入一个,就会出错。我不知道为什么。希望有人能帮忙
这可以很好地工作:
SELECT name, continent
FROM world
WHERE continent IN (SELECT continent FROM world WHERE name ='belize')
但是,每当我再放入一个子查询时,就会出现错误。
SELECT name, continent
FROM world
WHERE continent IN (SELE
我想创建一个查询,其中我从INV表中获取所有帖子,其中INNUM在INVS表中出现超过2次。这是我现在的查询,但它失败了,出现了典型的“缺少右括号”错误。但是当我孤立地运行EXISTS查询时,它可以工作... SELECT WO.WONUM, WO.DESCRIPTION, INV.INNUM, INV.STATUSDATE
FROM INV LEFT OUTER JOIN WO ON INV.WOID = WO.WOID
WHERE EXISTS (
SELECT COUNT(*) FROM INVS WHERE INVS.INNUM = INV.INNUM
这个问题是我上周问的一个问题的基础:。在那篇文章中给出的答案给出了我所需要的东西:一份基于父母的明确的地点列表和他们的孩子。我们需要使用我们自己的位置模型,所以我们创建了一个模型,从那时起,我就得到了重复的结果。我们的模型非常基本:
class LocationModel
{
public int LocationID { get; set; }
public int ParentLocationID { get; set; }
public string LocationName { get; set;}
}
如果您将它与EF创建的实体进行比较,我只需删除我们不需要/
我不知道下面的蜂巢查询有什么问题。然而,这是抛出的错误。
select h.database_name, h.table_name, h.frequency as hive_frequency, i.frequency as impala_frequency
from hive_access_frequency h
left join impala_access_frequency i
on
h.database_name = i.database_name and
h.table_name = i.table_name
union
select i.database_name,
我使用子查询的结果将多行插入到表中: INSERT INTO `doc-file` (docId, fileId) VALUES
((SELECT id FROM documents WHERE slug = :slug LIMIT 1), :file1),
((SELECT id FROM documents WHERE slug = :slug LIMIT 1), :file2),
((SELECT id FROM documents WHERE slug = :slug LIMIT 1), :file3), 子查询的结果对于我想要插入的每一行都是相同的,因此它实
以下查询起作用:
SELECT DISTINCT `number`
FROM `employee`
WHERE `number` IN
(SELECT `department_manager`
FROM `department`)
UNION
(SELECT DISTINCT `manager`
FROM `employee`
WHERE `manager` IS NOT NULL)
但是,当我用圆括号包装查询时,它就不再工作了:
(SELECT DISTINCT `number`
F
是否可以在一个或两个查询中组合所有的表?
我尝试使用联合,但我需要访问查询中的每一行。
对我来说,最大的问题是使用ORDER BY对所有内容进行排序。
例如,我需要在一个div中打印第一个查询行,在另一个div中打印第二个查询行,依此类推。
(SELECT
link as RelLink,
date as RelDate,
title as RelTitle
FROM torrent
WHERE moderate = 1
ORDER BY date DESC LIMIT 0,12),
(SELECT
torrent
总的来说,我对MySQL和SQL非常陌生,也无法完全理解如何以及在何处放置别名。举个例子,我有这样的湿疹:
CREATE DATABASE testdb;
USE testdb;
CREATE TABLE table_a (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
value INT NOT NULL,
PRIMARY KEY(id)
);
CREATE TABLE table_b (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
value INT NOT NULL,
有人能告诉我如何在MySQL 5.6中使用内联查询吗?我想做一件简单的事情!我正在尝试编写一个查询,在这个查询中,我从数据库中的一个表中选择,并与我试图动态创建的内联表连接。它是一个1列表,我很难用多行来创建它。
示例内联查询
select * from (
(select 'filename1' as file_name) as t1
union
(select 'filename2' as file_name) as t2
);
如果我在没有第二个select语句的情况下运行这个查询,那么它可以工作。但是,如果我使用这两个
我有一个从Django服务器访问的MySQL InnoDB数据库。我有一张桌子:
+--------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI
1-当内部或外部条件影响性能时,是否影响单个查询的查询计划,是否影响用于单个查询的索引的选取。
2-最好是编写两个或更多的查询,每个查询在值时处理大小写的一个选项,而不是在语句时编写一个具有Case的查询。
示例:
Select Acc ,
Case
when Calculation_type = 'M' then Min_value
when Calculation_type = 'E' then Ending_value
Else
Average_BLC
END
From Table
替代
Select Acc , Mi
我正在C#中生成多个insert记录查询,并试图在FireBird中执行。
当我在FlameRobin上运行它时,它工作得非常好。但是当我通过C#运行它时,它会抛出异常。
SET TERM ^ ; INSERT INTO COUNTRY1 SELECT '2', 'two ' FROM RDB$DATABASE UNION ALL SELECT '4', 'four' FROM RDB$DATABASE UNION ALL SELECT '5', 'five' FROM RDB$DATABASE;
我正在使用MySQL进行一个项目,并使用存储过程进行选择查询,因此它们都具有相同的结构:
DELIMITER $
CREATE PROCEDURE `case_in_where`(IN `column_selector` INT, IN `value` VARCHAR(255))
BEGIN
SELECT * FROM `foo`
WHERE
CASE
WHEN `column_selector` IS NULL THEN 1
WHEN `column_selector` = 1 THEN `foo
如果我有一个mysql查询,比如
(SELECT COUNT(*) FROM data AS amount)
UNION
(SELECT COUNT(*) FROM data WHERE some < 50 AS something)
然后用php创建一个数组,就像这样的$row = mysqli_fetch_array($sql, MYSQLI_ASSOC);。
现在,我如何处理每个AS名称。这不起作用:echo $row["amount"];。我的第二个问题是,为什么在有WHERE子句时不能使用AS something?
我有两个查询要附加到MySQL中。我发现UNION可以帮助我做到这一点,但它并不完美,因为它没有保留每个附加查询的顺序。简而言之,我想这样做:
(SELECT name,city FROM people WHERE xxx ORDER BY yyy)
UNION
(SELECT name,city FROM people WHERE zzz ORDER BY www)
但是,当存在UNION时,SQL不会在ORDER语句上执行
一种解决方案是向每个子查询添加一个假字段,并首先按该字段排序:
(SELECT name,city,'0' as bogus FROM people
我有以下表格:
product、product_stock和product_offer
我需要优化搜索时,寻找一个产品是可用的product_stock或目前正在提供。首先,当我添加一个子计划时,情况看起来很好。
explain select * from product p
where
p.product_number like '%T%'
and
p.id in
(select c.product_id from product_stock c where c.quantity > 0)
这给了我以下反馈:
Gather (cost=10
我正在用IN子句编写一个更新查询,在其中我要传递列表。
update table set postcode={#postcode} where id in
<foreach collection="addresses" index="index" item="item" open="("
separator="," close=")">#{item}</foreach>
当addresses.If中的记录少于1000条时,这会很好地运行--在错误下面有超过1000条记录:
因此,我试图合并两个查询,然后按列进行排序。但是,每当我尝试运行查询时,它都会产生一个对我来说毫无意义的错误。
示例数据
CREATE TABLE test (
Company_code VARCHAR(120) NOT NULL,
operating_year INT NOT NULL,
Profit INT NOT NULL
);
INSERT INTO test (Company_code, operating_year, Profit)
VALUES ('A', 1999, 200