我试图用不同的标准从一个表中提取多个不同的和。唯一的问题是,我的子查询收回了不止一个响应,所以我稍微更改了一下查询,然后试图找到最佳的方法来做这件事,结果非常失败。
下面是我现在正在处理的查询:
SELECT TER_ID AS TER_ID,
SUM(MED_AMT) AS NET_SLS_AMT,
SUM(SELECT MED_AMT
FROM DAY_TER_MEDIA
WHERE TND_CD = 1 AND
DAY_TER_MEDIA.DT = '') AS CASH_AMT,
SUM(SELECT M
我尝试查询,但是got错误,tt.comp在上下文中无效。
我认为子查询#1(select子句)不能访问子查询#2(from子句)或子查询#1在子查询#2之前执行。
SELECT grp1
,(select count(distinct tt.comp) as comp
from t as tt
where tt.lamp = 1
and tt.pop = t.pop)
FROM (select ......) as t group by grp1
如何解决这个问题。
提前谢谢。
这是一组大得多的表的一部分,但简单的细分是,我有两个表,employees和profits。每次在公司获得利润时,都会将利润添加到利润中,并引用赚取利润的员工ID,而我则执行案例检查,以便在自定义列中显示任意值。
模式:
当我提取员工列表时,我通过一个子查询生成属于他们的所有利润的总和:SELECT firstname, lastname, (SELECT SUM(amount) FROMprofits WHERE profits.employee_id=employees.id) ASprofits FROM employees。
生成以下列:
fir
我正在编写一个带有一些CASE表达式的查询,它输出帮助我确定是否需要特定操作的helper-data列。我想知道是否可以以某种方式使用子查询的结果作为输出,而不必执行两次相同的查询(在WHEN (subquery) THEN之间和作为THEN之后的结果)
下面的虚拟代码描述了我要做的事情。这可以做到吗?我正在查询一个MS2005 SQL数据库。
SELECT 'Hello StackOverflow'
,'Thanks for reading this question'
,CASE
WHEN
我正在构建一个电子邮件表单,以便根据销售团队选择的电子邮件收件人向他们发送电子邮件。
我正在尝试使用查询来构建我的案例,以便从我的数据库中提取数据,而不是必须物理地写出销售团队的每个实例。
<% Select Case ContactEmail %>
<% Case "1" %><% TeamName="Austin General Sales" & TeamEmail="austin@XX.com"%>
<% Case "2
select sum(case when NumFirstNames <> 1 then 1 else 0 end) as DifferentFirstNames,
sum(case when NumLastNames <> 1 then 1 else 0 end) as DifferentLastNames,
sum(case when NumSSN <> 1 then 1 else 0 end) as DifferentSSN,
sum(case when NumPhone <> 1 then 1 else 0 end) a
SELECT branches.brid,
COALESCE(a.cnt, 0) AS Assigned,
COALESCE(c.cnt, 0) AS Completed,
COALESCE(p.cnt, 0) AS Pending,
COALESCE(x.cnt, 0) AS Expired
FROM branches WHERE access = 'User'
LEFT JOIN
(SELECT brid, count(*) from task GROUP BY brid) a ON branches.brid = a.brid
LEFT JOIN
(SELECT bri
我想知道如何才能做到这一点,而不必写出(或使DB进程)成为查询的主要部分两次。
我的场景是,我正在查询Oracle企业数据库(我受到DBA的限制,所以有些解决方案可能无法工作,但我不确定自己在多大程度上受到限制,直到我尝试并且不知道该在哪里使用它)。
目前,我的查询如下:
SELECT
a.Field1,
a.Field2,
b.Field3,
b.Field4,
c.Field5
FROM
a,
b,
c,
WHERE
下面是表中的示例数据
Id Dsc
500001 INSURED
500001 THIRD PARTY
500001 THIRD PARTY
500001 THIRD PARTY
500002 INSURED
500002 THIRD PARTY
500003 INSURED
500004 BROKER
500005 CLAIMANT
我想提取那些Dsc既不是‘保险’也不是‘经纪人’的身份证。由于这两列都有重复的数据,所以我设计了以下查询。
Select Id from table1 where Dsc not in ('Insured', '
我有一个脚本,它需要在同一数据子集上执行四个相当大的MySQL查询。有没有办法把它们组合成一个查询?
下面是查询的样子:
Select sum(value) From
( Select lat, lng, value From `pop_geo_199` Where (
(lat Between 38.1768916977 And 39.6131083023) And (lng Between -77.9596650363 And -76.1143349637))
) As FirstCut
Where (acos(0.627895140732*
select *,
case when number = '12' and status = 'y' then cost
end as [price]
from tblx
我从上面的查询中得到了结果,我想使用price列的值,同样,在相同查询的情况下,如下所示
select *,
case when number = '12' and status = 'y' then cost-500
end as [price],
case when price = 24 then trasdate end as [trasdate]
f
我有一个oracle查询,其中一部分是使用DECODE计算一些值。例如:
SELECT ...,
(SELECT DECODE((SELECT 23 FROM DUAL),
0, null,
(SELECT 23 FROM DUAL))
FROM DUAL)
FROM ...
这里的值"23“是在运行时计算的,而且它是非常复杂的连接-多个表,使用PARTITION BY等。所以如果值不是"0”,我想避免执行相同的子查询。有没有办法写这样的东西?
SE
我正在尝试从表中提取数据,其中我在WHERE子句中使用了CASE条件,而当前我正在使用以下查询:-
SELECT count(enq_id) AS total, sum(purchase_amount) AS purchase
FROM temp_stock
WHERE purchase_date <> '0000-00-00'
AND purchase_date < '2012-08-01'
AND (
STATUS = 'Sold'
OR STATUS = 'In Stock'
OR STATUS =
如何处理MySQL load outfile函数中带有空格的空值?
以下是查询
SELECT * FROM employees WHERE `date` BETWEEN '2016-12-15' AND '2017-01-04' INTO OUTFILE '/tmp/test.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' ESCAPED BY "" LINES TERMINATED BY ' ';
列中的空值在csv中显示为Nul
我试图在一个SELECT查询的MySQL子句中执行一个关联子查询。如何使用子查询的WHERE子句中的另一列中的行的值?
我一直在引用的“关联子查询示例”部分,但由于某种原因,我的查询不起作用。
这是我的代码:
SELECT Year,
( SELECT COUNT(*)
FROM systems
WHERE SYSTEMTYPE = 'handheld' AND Year = sys.Year
) as handheld,
( SELECT COUNT(*)
FROM systems
WHER
我有一个从JSON文档中提取一些数据的查询,还有一个根据返回的值的数量显示总列数的查询。我似乎想不出如何将这些组合成一个查询?假设我需要使用子查询,但不确定从哪里开始? SELECT
JSON_EXTRACT_SCALAR(data, '$.cat.name') as cat_name
JSON_EXTRACT_SCALAR(data, '$.dog.name') as dog_name
FROM table SELECT
CASE WHEN cat_name IS NOT NULL THEN 1 ELSE 0 END +
CASE WHEN dog_name
我有一个简单的查询来将一条记录插入到一个表(P_Case表)中。我从表单(Case_Form)中的文本框中获取值。我在单击Case_Form中的命令按钮时执行查询。但是,执行失败,并且我得到错误“查询输入必须至少包含on表或查询”!
INSERT INTO P_Case (Case_Date, Case_Desc, Aff_Person)
VALUES (Forms!Case_Form![Case Date], Forms!Case_Form![Case Desc], (SELECT Person.ID FROM Person WHERE Person.National_ID=Forms!C
下面是我的示例查询。当我运行查询时,即使在日期范围内有数据,PreviousTotalQuantity也会返回null。
SELECT
p.ActualId,
p.Name,
p.QTYONHAND AS OnHand,
p.PRICE AS DistCost,
SUM(soi.Quantity) AS PresentTotal,
SUM(CASE
WHEN soi.MASSCHDSHIPDATE > '2014-3-1' AND
soi.MASSCHDSHIPDATE <
我有下面的查询,它像这样显示数据:
Income Type This Month Last Month This Year Last Year
1 179640.00 179640.00 179640.00 179640.00
2 12424440.00 12424440.00 12424440.00 12424440.00
Select
Income_Type As [Income Type],
Sum(Income_Amount) As [This Month],
Sum(Income_Amount) As [La
我正在编写一个搜索例程与排名算法,并希望这是在一次通过。
我的理想查询是这样的.
select *, (select top 1 wordposition
from wordpositions
where recordid=items.pk_itemid and wordid=79588 and nextwordid=64502
) as WordPos,
case when WordPos<11 then 1 else case WordPos<50 then 2 else case WordPos<
我有下面的查询来提取所需格式的数据
select
(
select COUNT(serialNumber) as LOTQty
from MobileData
where mobileName = @mobileName and model = @model and LOTQty = @lotQty
)
,(
select COUNT(serialNumber) as FailedQty
from MobileData
where mobileName = @mobileName and model = @model and LOTQty = @
我想知道如何将表中的子查询结果相加。例如,我想在一条语句中添加以下两个查询。
SELECT SUM(A) - (SELECT SUM(B) FROM MyTable WHERE C<A))
FROM MyTable WHERE B>C;
SELECT SUM(B) - (SELECT SUM(C) FROM MyTable WHERE D<F))
FROM MyTable WHERE B=C;
我可以看到这些列
我想提取这些数据
我在Server中手动执行了几个步骤,并且我想要自动化它,这样我就可以直接从宏运行select语句,并将它保存在excel文件中。以下是我正在做的事情
select distinct
CASE
WHEN Userid ='jsolar' THEN 'Jack Solar'
WHEN Userid ='jkrcmarikova' THEN 'Jana Krcmarikova'
WHEN Userid ='lfialova' THEN 'lucia f
我正在进行一个查询,它从表的各行中提取数据,并将其放在同一列中:
SELECT [t].*,
[d].[Description] AS [Name],
FROM [TrainerClass] AS [t] join [DescriptionTranslation] AS [d] on [t].[Code] = [d].[Code]
WHERE [d].[TableName] = 'TrainerClass' AND
[d].[FieldName] = 'Name' AND
[d].[Language] =
对于下面的查询,我试图根据每月的当前日期提取特定的日期范围。如果它是20或更少(例如"2/7/2020"),那么我想要一月的日期范围。否则,我想要二月的日期范围。是否可以用一份案例陈述来完成?还是有更好的办法?
SELECT
account,
start_date,
amount
FROM
table1
WHERE
CASE
WHEN (
SELECT
CAST(EXTRACT(DAY FROM sysdate) AS NUMBER)
我想把mincall从callzero中剥离出来。我从第一个查询获得mincall,从第二个查询获得callzero。如何组合这些查询,使我不必使用临时表?
select CONVERT(datetime, convert(varchar(10), min(CALENDAR))) as mincal
from STATS
group by clientid
以及:
select CONVERT(datetime, convert(varchar(10), min(CALENDAR))) as callzero, CLIENTID from STATS
where calls = 0
and
我的查询运行得很好,但是在添加了一个case语句之后,我在一些列上收到了一个错误。
使用case语句查询我在以下位置收到错误:
select
date_,
afs,
sum(price) as Customer_price,
sum(cost) as store_cost,
pos_vd,
product
CASE
WHEN f.afs='C' and f.product in ('Blue','Pink','Yellow')
THEN 'Special'
ELSE 'PRODUCT GROU
我要拿回县的身份证和县名。如何修复此查询?
DECLARE @test int = 0;
select
CASE (@test)
when 0 then (SELECT co.Id, co.Description
FROM Dictionary.Counties as co
INNER JOIN CountyCollaboration as cc on cc.CountyId = co.Id
WHERE cc.CollaborationId = (SELECT cc1.Colla
我有一个关于我的脚本的问题,为什么我不能对子查询使用where子句( where counter = '1')
我这里有一个样品,请打开图片
SELECT effectiveDate,
(SELECT
(CASE
WHEN note='REGULAR LOGGED'
THEN log
WHEN description = description
THEN description
END)
FROM timesheet WHERE counter ='1'
) as Counter
嗨,我正在尝试从子查询中提取一行,其中子查询fecha与主查询fecha相同。
错误是
ORA-00904: "F"."HORA_INICIO": identificador no válido
00904. 00000 - "%s: invalid identifier"
这是我的密码
SELECT F.FECHA,
COUNT(DISTINCT(F.CODIGO_DEPORTE)) AS CONTEODEPORTES,
C.CONTEO AS CONTEO,
CASE
WHEN