我有这个简单的T-SQL查询,它从表中发出一堆列,并且还连接来自其他相关表的信息.
我的数据模型很简单.我有一个预定的活动,与参与者.我需要知道有多少参与者参加每个活动.
我的解决方案是添加一个CTE,它对预定的事件进行分组并计算参与者的数量.
这将允许我按预定活动加入该信息.保持查询简单.
我喜欢让我的查询简单,但是,如果我将来需要在简单查询期间访问其他临时结果,我该怎么办?
我真的很喜欢它,如果我可以拥有多个CTE,但我不能,对吧?我有什么选择?
我已经在应用程序数据层排除了视图和操作.我更喜欢孤立我的SQL查询.
我想知道如何根据一个CTE检索多个结果集?像我下面的东西 - 但显然这不起作用.
根据那个CTE,有谁知道如何获得这两组(或更多)数据?(更多,因为从同一个CTE获得总记录数也会很好.)
;WITH CTE AS
(
SELECT
Column1, Column2, Column3
FROM
Product
WHERE
Name LIKE '%Hat%' AND Description Like '%MyBrand%'
)
SELECT DISTINCT CategoryId FROM CTE
SELECT DISTINCT BrandId FROM CTE
Run Code Online (Sandbox Code Playgroud) 我正在使用SQL Server 2014,我在下面的SQL查询时遇到问题.似乎某处存在语法错误,但我找不到它.
我正在从两个单独的视图中加入两个选择查询,即ReservationList和ARACCOUNT.
USE MyDatabase
;WITH q1 AS (
select *
from ReservationList
WHERE [Market Segment Code] <> 'COMP' AND
NOT (Status] = 'CANCELED' OR [Status] = 'NOSHOW' OR [Status] = 'WAITLIST') AND
NOT [Departure Date] < '2014-07-01' AND
NOT [Market Segment Code] = 'COMP' AND
NOT [Arrival Date] = [Departure Date]
)a
q2 AS (
SELECT
[PMSConfirmationNumber],
[FOC ACCOUNT],
[AR ACCOUNT NAME]
FROM
ARACCOUNT
)b
Select
q1.*
from
q1
JOIN q2 ON q1.PmsConfirmatioNnumber = …Run Code Online (Sandbox Code Playgroud)