目前,我使用下面的CTE来获取一个类别和它下面的任何类别: WITH RECURSIVE tree AS (
SELECT * FROM (
SELECT categoryId,
categoryName,
categoryParentId,
categoryDescr,
categoryType,
categoryDC,
categoryLedgerId,
1 as categoryDepth
FROM tbl_categories
我希望在同一个查询中有多个merge语句(一个接一个),但我不能使用相同的数据源。示例:
WITH DATA as(
SELECT * FROM tables_or_joins
)
MERGE table_name as Target
USING
(SELECT * FROM DATA JOIN another table
)
....
do something more; --and finish this statement here
-- start another merge here
MERGE table_name_2 as Target
USING(
如何使用 具有多个 我试着把一些汇总的数字放在一起,但是不管我把它放在哪里 ,我总是收到一个错误 SELECT COUNT(*)
FROM dbo.Decision_Data
UNION
SELECT COUNT(DISTINCT Client_No)
FROM dbo.Decision_Data
UNION
WITH [Clients]
AS ( SELECT Client_No
FROM dbo.Decision_Data
GROUP BY Client_No
当我有两个CTE和之后,我如何使用ORDER。我的查询如下:
WITH
cte1 AS (SELECT * FROM table1),
cte2 AS (SELECT * FROM table2),
cte3 AS (SELECT * FROM table3)
SELECT cte1.column1,cte1.column2 FROM cte1
UNION
SELECT cte2.column1,cte2.column2 FROM cte2
UNION
SELECT cte3.column1,cte3.column2 FROM cte3
我需要用column1来排序结果,在所有的CTE中都是一
我正在尝试使用SQLAlchemy生成同时涉及CTE和联合的查询。不幸的是,每当我应用联合时,生成的SQL都不包含已定义的CTE。
下面是包含WITH、WITH和WITH UNION的SQL:
(Pdb) import sqlalchemy as sa
(Pdb) print str(sa.select([sa.select([sa.sql.null().label('a1')]).cte('bb')]))
WITH bb AS
(SELECT NULL AS a1)
SELECT bb.a1
FROM bb
现在使用相同的查询,但调用了联合:
(Pdb
执行以下查询:
WITH cte AS (
SELECT CAST('" + mindate+ "' as varchar(255)) as fdate
UNION ALL
SELECT CAST(DATEADD(day, 1, fdate) as date)
FROM cte
WHERE fdate < '" + tday+"'
)
SELECT COUNT(fdate) AS Fdate
FROM cte left join tbl_Attendence on cte.fdate
所有的人,
是否可以在使用with后运行多个select语句?第一个select语句工作正常,当我添加另一个select语句时,我得到了一个错误。
with
a as (select a,b,c from Table1 with(readuncommitted)),
b as (select d,e,f from Table2 with(readuncommitted))
select * from a
select * from b
预期产出:表1 a表2 b
我使用下面的查询,但是说Incorrect syntax near if如何解决这个问题?
CREATE FUNCTION getCustomerAllReseller
(
@code BIGINT
)
RETURNS TABLE AS
RETURN (
WITH Directories AS
(
IF (@code < 0)
SELECT code FROM CustomerAll WHERE code = @code
ELSE
SELECT code FROM Customer
我有两张桌子,Orders和Articles。我希望orders和articles都在同一个结果集中,并按[DateCreated]排序。我需要传呼,所以我用。下面的查询的问题是,[RowNumber]是每个查询的单独计数器。
在下面的查询中,我没有得到10行,而是得到了20行。对于如何处理这个问题,有什么想法吗?
我需要一个包含整个WITH条款的计数器。
查询:
;WITH MySelectedRows AS (
SELECT ROW_NUMBER() OVER (ORDER BY [DateCreated] DESC) as [RowNumber]
, [ArticleID
我有一个查询,它告诉我每天创建了多少条记录,但如果某一天没有创建记录,则查询不会列出日期和零金额。
如何包含这些日期?
SELECT Convert(VARCHAR, CreatedDate, 101) as "Date", count(result_ID) as "Results"
FROM Results
WHERE CreatedDate >=dateadd(day,datediff(day,0,GetDate())- 90,0)
AND Verified = 1
GROUP BY Convert(VARCHAR, CreatedDate,
我有一个复杂的查询,它会产生多个列,我希望将这些列联合到一个列中。
简单的UNION构造让我为每个要组合的查询放置FROM。我希望FROM是复杂查询的结果。
我想说的是:
SELECT row1 AS result FROM (complex query)
UNION
SELECT row2 AS result FROM (same complex query)
UNION
SELECT row3 AS result FROM (same complex query)
...
我如何在CTE5.6.10中做到这一点(我意识到MySQL很好地解决了我的问题),并且没有临时表(我的数据库管理员是偏
我在MIPS程序集中为下面的表达式编写了两个代码文件:
R(n) = (i to n) SUM {(i+2)/(i+1-1/i)- i/(i+ 1/i) }
一个代码将整个表达式R(n)计算为求和,并给出结果。
第二代码首先计算第一个项,即循环中的(i+2)/(i+1-1/i),然后在另一个循环中计算第二个项,即i/(i+ 1/i)。然后,它简单地减去这两个求和。
以下是针对n不同值的两个程序的结果:
方案1:
N Result
-----------
10 5.07170725
100 7.41927338
1000 9.7263679
我正在尝试编辑一个报告,但是用户想要页面顶部的列,因为它与遗留应用程序中的列类似。 这个查询很旧,但它可以工作,所以我不想花时间重写整个查询。它有12个工会。 为了保持示例简单,我删除了连接和过滤器 SELECT 1 as num, 'Complaints' as Label SUM(1) as [count]
FROM complaints
UNION
SELECT 2 as num, 'Address' as Label SUM(1) as [count]
FROM Address
UNION
SELECT 3 as num, 'Insp
我希望我的查询会给出类型列表,而在每一列都给出是的。
这张桌子看上去如下:
a b c d no
yes null yes null 1
null yes yes null 2
yes null null yess 3
查询的预期结果:
no type
1 a
1 c
2 b
2 c
3 a
3 d
如何编写查询才能获得预期的结果?
提前谢谢。
我有来自多个表的以下输出
id b c b e b g
abc 2 123 3 321 7 876
abd 2 456 3 452 7 234
abe 2 0 3 123 7 121
abf 2 NULL 3 535 7 1212
现在我想将这些值插入到另一个表中,单个命令的插入查询如下所示:
insert into resulttable values (id,b,c), (id,b,e) etc.
为此,我需要做一个select,这样它就能给我
id,b
嘿,伙计们,我有一些由active record动态生成的查询,出于性能原因,我需要将它们合并在一起,并一次性将它们发送到MSSQL。
我尝试了以下方法,它在postgresql中工作得很好,但我无法让它在MSSQL中工作。
(SELECT [panels].* FROM [panels] WHERE [panels].[environment_id] = 14 AND [panels].[agglo_code_id] = 23 AND [panels].[advert_area_id] = 161 AND [panels].[product_id] = 25 AND (NOT EXISTS
我试图从PostgreSQL 10.12中的表中对行进行排序:
CREATE TABLE example (
id serial PRIMARY KEY,
val text NOT NULL,
x integer NOT NULL,
y integer NOT NULL
);
INSERT INTO example (val,x,y)
VALUES
('First Value (This should be first order)',7,2)
, ('Second Value (This should be second order)&
我之前曾请求帮助编写/改进一个函数,我需要该函数来根据每个月的不同值计算溢价。保费分为12个月,并按月按百分比赚取。因此,如果政策从3月份开始,而我们在1月份,我们将获得10个月的收入。所以我需要把每月的收入加起来,给出我们赚到的总收入。wach公司每个月的收益价值是不同的。
我的原始代码是。这是可怕的和缓慢的,因此请求帮助。
然后我看到了下面的代码。代码可以工作,但返回的数字非常大。
begin
set @begin=datepart(month,@outdate)
set @end=datepart(month,@experiencedate)
;with a as
(
sel
我是SQL的新手,我正在尝试获得在该员工获得最高工资的部门工作的员工的姓名。
我成功地返回了工资最高的员工,但现在我想与他们的Dno和员工行的其余行执行联合,我该如何做呢?
SELECT DISTINCT Fname, Lname, salary
FROM employee
WHERE Dno = (SELECT Dno FROM employee WHERE MAX(salary));
/*names of employees working in the department where the employee receives the high salary
我有三个表employees、customers和account。我想选择在employees和customers中找到但不在account中找到的所有行。我尝试了SELECT *FROM employees,customers where id not in (select id from account),但如果我删除employees或customers,它就会起作用。
我有两个select查询需要合并到一个结果中。
/* Count of all classes students have passed */
/* A */
SELECT COUNT(TECH_ID) as Number1, ct.SUBJ, ct.COU_NBR
FROM [ISRS].[ST_COU] st
JOIN [ISRS].[CT_COU_SQL] ct
ON st.COU_ID = ct.COU_ID
WHERE GRADE = 'A' OR Grade = 'B' or Grade = 'C'
GROUP BY ct.SU
我在SQL Server中有以下查询: SELECT A.ANNUAL_STATEMENT_MPR_ACTIVITY_ID
,A.ANNUAL_STATEMENT_ID
,CASE WHEN DP_GROSS_DEPOSIT > 0 THEN DP_DEPOSIT_DATE
ELSE A.VALUATION_DATE
END AS VALUATION_DATE
,case when DP_GROSS_DEPOSIT < 0 THEN DP_GROSS_DEPOSIT
假设我有一个表,其中的列如下:'text'、'id'和我想要选择所有id为1的列,并且我想限制所有id为null的列。 SELECT text, id FROM table_name WHERE id = 1 ..LIMIT 2 WHERE id = null ? .. 我想我必须以某种方式使用第二个查询,但我真的不知道如何使用? SELECT text, id FROM table_name
INNER JOIN (SELECT text, id WHERE id = NULL LIMIT 2) as second ON .. on what
shoul
我有一个包含以下示例表的sqlite DB: CREATE TABLE PROVA (
c1 TEXT NOT NULL UNIQUE,
c2 TEXT NOT NULL,
c3 TEXT NOT NULL
); 这个表会在某些时候是空的(例如,在初始化期间),我需要一个查询,它可以返回这样的输出,而不必指定列名(每个列的一个虚拟值) c1 c2 c3
-------- -------- --------
dummy dummy dummy
我需要帮助理解这个查询的递归部分:
WITH EmpsCTE AS
(
SELECT empid, mgrid, firstname, lastname
FROM HR.Employees
WHERE empid = 2
UNION ALL
SELECT C.empid, C.mgrid, C.firstname, C.lastname
FROM EmpsCTE AS P
JOIN HR.Employees AS C
ON C.mgrid = P.empid
)
SELECT empid, mgrid
我要做陈述
SELECT data from result_orders
只有在order_state为空的情况下。
否则我需要做另一个选择状态。
我试了一下,但出错了:
ERROR: syntax error at or near "SELECT"
LINE 15: WHEN order_state IS NULL THEN SELECT data from result_order...
SELECT
CASE data
WHEN order_state IS NULL THEN SELECT data from result_orders
ELSE sel
(select `pk_irfa`
from `incident_reports_form_answers`
where inc_question_id = 338
AND answer_text in ("N/A", "Graeme Clark"))
union
(select `pk_irfa`
from `incident_reports_form_answers`
where inc_question_id = 339
AND answer_text in ("Manager",
如果有记录,下面的Oracle应该返回字段num的行。当没有找到记录时,我希望它返回N/A作为显示值,0作为返回值字段。
select num display_value, num return_value from cells
WHERE ss = 4
UNION ALL SELECT "N/A" display_value, 0 return_value from dual
WHERE NOT EXISTS (SELECT 1 FROM CELLS WHERE ss = 4)
当没有找到记录时,这是行不通的,因为num是NUMBER类型,而"N/A“不
请参阅以下查询。
我想转换成CodeIgnitor活动记录。
SQL查询:
Select MobNo,Caller,Sum(Tot_In_Call) as Tot_In_Call,Called,Sum(Tot_Out_Call) as Tot_Out_Call
From (
SELECT CTE.Caller as MobNo,Incall.Caller,Incall.Tot_In_Call, Null as Called,0 as Tot_Out_Call
FROM Call_Details CTE
Left Join (
Select Co