标签: subquery

如何在子查询中使用一个sql查询的结果

我必须回答以下问题

"对于数据库中的每一年,列出年份和当年发布的电影总数,按降序显示这些总数.也​​就是说,电影数量最多的年份首先出现.如果有的话.几年有相同数量的电影,按年份递增顺序显示."

目前我正在使用下面的代码将电影组合在一起,但我无法让它们排序:

Select YearReleased, count(*)                
from Movies                             
group by YearReleased 
Run Code Online (Sandbox Code Playgroud)

我希望使用一些东西来订购这个并且我试图创建一个使用第一个查询结果的子查询,其行如下:

(select * from results order by count(*))
Run Code Online (Sandbox Code Playgroud)

但到目前为止,我一直没有成功.我如何实现这一目标,还是有更好的方法来获得该顺序的结果?

sql subquery

0
推荐指数
1
解决办法
1929
查看次数

MySQL查询计数投票

我有一个包含以下列的表:user_id,key,value和flag.SELECT,FROM,WHERE,GROUP BY和ORDER BY按预期自行工作.当我尝试将密钥添加到表中时,我收到一个错误,表示要检查我的语法.关键是问题,价值就是答案.我想要一个结果,显示所有可能答案的所有问题以及答案发生频率的计数.

SELECT value AS 'Answer', count(*) AS 'Total Votes'
FROM survey_data sd
INNER JOIN (SELECT key FROM sd GROUP BY key) T1 ON T1.key = sd.key
WHERE flag != 1
GROUP BY value
ORDER BY 'Total Votes' DESC
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么?

作为旁注,当我在没有INNER JOIN的情况下运行此查询时,结果不是通过'Total Votes'对DESC进行排序 - 是否有人知道问题的原因或原因?

谢谢,瑞恩

mysql inner-join subquery

0
推荐指数
1
解决办法
378
查看次数

Oracle:在另一个子查询中使用一个子查询的结果

select t1Joint2.c1,t1Joint3.c3 from
(select * from table1 where name  = "some") t1,
(select t1.c1,t2.c2 from table2 t2 where t1.c1 = t2.c2) t1Joint2,
(select t1.c1,t3.c3 from table3 t3 where t1.c1 = t3.c3) t1Joint3,
;
Run Code Online (Sandbox Code Playgroud)

以上查询在Oracle中不起作用.
任何解决方法?

使用Oracle 11g.

oracle subquery

0
推荐指数
1
解决办法
2792
查看次数

与IQueryOver连接时的Nhibernate条件

我在谷歌和stackoverflow上搜索类似的问题将近2个小时,但没有找到任何解决方案.

我有2个表,关系1对多.

1) [Accounts]
PK Account_Id
int User_ID


2) [Temporary_Accounts]
Fk Account_Id
char IsAccepted   {'1','0',null}
varchar name
Run Code Online (Sandbox Code Playgroud)

和2个映射类

1) Acc
int Id;
User user;
TempAcc Temp; //cause each Account can have 0 or one TempAcc (with IsAccepted == null)

2)TempAcc
int Id;
bool IsAccepted;
string name;
Run Code Online (Sandbox Code Playgroud)

我想显示给定user_id的所有帐户以及在[Temporary_Accounts]和IsAccepted == null中有记录的Accounts的附加信息(fe name).

所以SQL应该是这样的:

select acc.Account_Id, acc.User_Id, tempacc.Name 

from Account acc left join Temporary_Account tempacc 
on (acc.Account_ID = tempacc.Account_Id and tempacc.IsAccepted is null)
where (acc.User_Id = 65);
Run Code Online (Sandbox Code Playgroud)

但我的IQueryOverquery:

IQueryOver<Acc> query = (...)
query.JoinAlias(f …
Run Code Online (Sandbox Code Playgroud)

nhibernate criteria subquery icriteria queryover

0
推荐指数
1
解决办法
3292
查看次数

如何在Symfony Doctrine中使用子查询创建查询

我想在doctrine中进行这个sql查询:

SELECT * 
FROM (
  (SELECT *, e1.stop_date as sort_date FROM `event` e1 WHERE ...) 
  UNION 
  (SELECT *, e2.start_date as sort_date FROM `event` e2 WHERE ...)
) e3 
ORDER BY e3.sort_date 
Run Code Online (Sandbox Code Playgroud)

我想将symfony模型的结果连接到事件表,比如使用:

Doctrine_Core::getTable('Event')->createQuery('e')
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

union doctrine symfony1 subquery symfony-1.4

0
推荐指数
1
解决办法
8442
查看次数

子查询列错误

我的查询中出现无法解决的错误:

我的查询:

SELECT [subject], cal
FROM (
    SELECT [subject], cal
    FROM amir
    WHERE textfilter LIKE '% word %') a 
WHERE lev=3 AND cal between '6/10/2012' AND '3/11/2013'
Run Code Online (Sandbox Code Playgroud)

错误发生在"lev = 3"

Msg 207, Level 16, State 1, Line 2
Invalid column name 'lev'.
Run Code Online (Sandbox Code Playgroud)

我的表列是:

    [RecordId] [bigint] IDENTITY(1,1) NOT NULL,
    [text] [nvarchar](max) NOT NULL,
    [textfilter] [nvarchar](max) NOT NULL,
    [mo] [int] NULL,
    [loc] [int] NULL,
    [lev] [int] NOT NULL,
    [cal] [date] NOT NULL,
 CONSTRAINT [PK_SahifehEmam] PRIMARY KEY CLUSTERED 
Run Code Online (Sandbox Code Playgroud)

sql subquery

0
推荐指数
1
解决办法
49
查看次数

仅显示JOIN不起作用的记录的子查询

我在MySQL中创建了一个相对简单的查询,JOIN根据名字和姓氏匹配的位置给出了三个表.从那里开始,我想编写另一个查询,然后只显示那些没有得到匹配的记录JOIN- 但我无法弄清楚如何做到这一点.我假设它与使用涉及类似NOT IN和我的原始查询的子查询有关,但我无法得到它给我想要的结果.

这是我尝试提出的部分功能正常的解决方法:

SELECT *, 
  if(t2.first=t1.first AND t2.last=t1.last, "Match", "No Match") AS "t2 Match",
  if(t3.first=t1.first AND t3.last=t1.last, "Match", "No Match") AS "t3 Match"
FROM t1
LEFT JOIN t2 ON t2.first=t1.first AND t2.last=t1.last
LEFT JOIN t3 ON t3.first=t1.first AND t3.last=t1.last
WHERE if(t2.first=t1.first AND t2.last=t1.last, "Match", "No Match")="No Match"
   OR if(t3.first=t1.first AND t3.last=t1.last, "Match", "No Match")="No Match";
Run Code Online (Sandbox Code Playgroud)

我觉得这是相当简单和直接的事情,但我没有得到正确的结果.有人可以帮忙吗?

谢谢!

mysql join subquery

0
推荐指数
1
解决办法
65
查看次数

核心数据子查询谓词

我试图让子查询谓词起作用,我正在努力.

我有两个实体.

[联赛] <---- >> [游戏]

游戏有一个属性kickOffDate.

我想使用谓词来返回今天Leagues至少有一个Game带有kickOffDate的谓词.

我正在使用这个谓词......

// startOfDay and endOfDay are functions to return the given date with 00:00:00 and 23:59:59 respectively
NSPredicate *startOfDayPredicate = [NSPredicate predicateWithFormat:@"SUBQUERY(games, $g, $g.kickOffDate >= %@).@count > 0", [self startOfDay:[NSDate date]]];
NSPredicate *endOfDayPredicate = [NSPredicate predicateWithFormat:@"SUBQUERY(games, $g, $g.kickOffDate <= %@).@count > 0", [self endOfDay:[NSDate date]]];

NSPredicate *compoundPredicate = [NSCompoundPredicate andPredicateWithSubpredicates:@[startOfDayPredicate, endOfDayPredicate]];
Run Code Online (Sandbox Code Playgroud)

但是,当我使用它时,我似乎没有得到任何结果.

我是否正确编写了谓词?

有没有更好的方法呢?

core-data objective-c subquery nspredicate ios

0
推荐指数
1
解决办法
6397
查看次数

T-SQL"未包含在聚合函数或GROUP BY子句中"

我有一个工作查询,告诉我最接近美国每个邮政编码的商店位置,但是当我尝试让外部查询选择所述商店的相关邮政编码时,它告诉我必须将ZipCode添加到总计; 但是,如果我通过Zip订购,那么它并没有向我展示所有的笛卡尔产品.任何帮助表示赞赏.

select
Sub1.Zip as Zip,
Sub1.Zip_ID as Zip_ID,
MIN(Sub1.Distance) as Distance from
    (
    SELECT 
    Z.Zip,
    Z.Zip_ID, 
       ((Sqrt(Square((Z.lat  - S.lat) *68.96799738887665) 
         + Square((Z.long - S.long)*54.69366983621222)))) Distance
    FROM   
    Tbl_Stores_Coordinates S
    CROSS JOIN Zip_Code_Coordinates Z
    )Sub1
group by Sub1.Zip_ID
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server aggregate subquery

0
推荐指数
1
解决办法
309
查看次数

左加入子查询

有人可以帮我解决这个问题吗?在子查询P中,存在一个会计年度,其中BudgetActivityDetailCurrentBiennium中不存在同一年.我需要此查询来显示该年度金额的空值.目前那一年根本没有出现.

SELECT
    P.FiscalYear
   ,P.BudgetNbr
   ,SUM(sec.BudgetActivityDetailCurrentBiennium.TranAmount) AS Amount
FROM 

(SELECT
  sec.BudgetIndexCurrentBiennium.BudgetNbr
  ,AVG(CAST(sec.BudgetIndexCurrentBiennium.BienniumYear AS INT)+1) AS FiscalYear
FROM
  sec.BudgetIndexCurrentBiennium
GROUP BY
  sec.BudgetIndexCurrentBiennium.BudgetNbr

UNION ALL

SELECT
  sec.BudgetIndexCurrentBiennium.BudgetNbr
  ,AVG(CAST(sec.BudgetIndexCurrentBiennium.BienniumYear AS INT)+2) AS FiscalYear
FROM
  sec.BudgetIndexCurrentBiennium 
GROUP BY
 sec.BudgetIndexCurrentBiennium.BudgetNbr) AS P

LEFT JOIN sec.BudgetActivityDetailCurrentBiennium
   ON
    P.BudgetNbr = sec.BudgetActivityDetailCurrentBiennium.BudgetNbr
AND P.FiscalYear = sec.BudgetActivityDetailCurrentBiennium.FiscalYear
WHERE sec.BudgetActivityDetailCurrentBiennium.BudgetNbr = '076036'
GROUP BY 
P.FiscalYear
,P.BudgetNbr
Run Code Online (Sandbox Code Playgroud)

sql t-sql join subquery

0
推荐指数
1
解决办法
46
查看次数