Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql P BY子句将输出弄乱。我很感激你的帮助,和我一起坚持这一点。如果您能提供任何其他见解,我们将不胜感激。 +----------------------+-------------+------------+------------------+ | _Sql_Tsql - Fatal编程技术网

Sql P BY子句将输出弄乱。我很感激你的帮助,和我一起坚持这一点。如果您能提供任何其他见解,我们将不胜感激。 +----------------------+-------------+------------+------------------+ |

Sql P BY子句将输出弄乱。我很感激你的帮助,和我一起坚持这一点。如果您能提供任何其他见解,我们将不胜感激。 +----------------------+-------------+------------+------------------+ | ,sql,tsql,Sql,Tsql,P BY子句将输出弄乱。我很感激你的帮助,和我一起坚持这一点。如果您能提供任何其他见解,我们将不胜感激。 +----------------------+-------------+------------+------------------+ | Physician | Procedure | Total Jars | Total Encounters | +----------------------+-------------+------------+----

P BY子句将输出弄乱。我很感激你的帮助,和我一起坚持这一点。如果您能提供任何其他见解,我们将不胜感激。
+----------------------+-------------+------------+------------------+
|       Physician      |  Procedure  | Total Jars | Total Encounters |
+----------------------+-------------+------------+------------------+
| NULL                 | NULL        |        531 |              790 |
| Smith MD, Benjamin A | NULL        |        531 |              790 |
| Smith MD, Benjamin A | Procedure A |        379 |              581 |
| Smith MD, Benjamin A | Procedure B |        128 |              180 |
| Smith MD, Benjamin A | Procedure C |         24 |               29 |
+----------------------+-------------+------------+------------------+
DECLARE  @start_date VARCHAR(8)
        ,@end_date VARCHAR(8)
        ,@practice_id CHAR(4)

SET      @start_date = '20130601'
SET      @end_date = '20140601'
SET      @practice_id = '0001'

;WITH jars
AS
(
SELECT      pe.enc_id AS enc_id
FROM        patient_encounter pe
INNER JOIN  Bottle_1_ b1 ON pe.enc_id = b1.enc_id
AND         pe.enc_timestamp BETWEEN @start_date AND @end_date
AND         ISNULL(b1.eso1, '') <> ''
UNION ALL
SELECT      pe.enc_id AS enc_id
FROM        patient_encounter pe
INNER JOIN  Bottle2_ b2 ON pe.enc_id = b2.enc_id
AND         pe.enc_timestamp BETWEEN @start_date AND @end_date
AND         ISNULL(b2.eso1, '') <> ''
UNION ALL
SELECT      pe.enc_id AS enc_id
FROM        patient_encounter pe
INNER JOIN  Bottle3_ b3 ON pe.enc_id = b3.enc_id
AND         pe.enc_timestamp BETWEEN @start_date AND @end_date
AND         ISNULL(b3.eso1, '') <> ''
UNION ALL
SELECT      pe.enc_id AS enc_id
FROM        patient_encounter pe
INNER JOIN  Bottle4_ b4 ON pe.enc_id = b4.enc_id
AND         pe.enc_timestamp BETWEEN @start_date AND @end_date
AND         ISNULL(b4.eso1, '') <> ''
UNION ALL
SELECT      pe.enc_id AS enc_id
FROM        patient_encounter pe
INNER JOIN  Bottle5_ b5 ON pe.enc_id = b5.enc_id
AND         pe.enc_timestamp BETWEEN @start_date AND @end_date
AND         ISNULL(b5.eso1, '') <> ''
UNION ALL
SELECT      pe.enc_id AS enc_id
FROM        patient_encounter pe
INNER JOIN  Bottle6_ b6 ON pe.enc_id = b6.enc_id
AND         pe.enc_timestamp BETWEEN @start_date AND @end_date
AND         ISNULL(b6.eso1, '') <> ''
UNION ALL
SELECT      pe.enc_id AS enc_id
FROM        patient_encounter pe
INNER JOIN  Bottle7_ b7 ON pe.enc_id = b7.enc_id
AND         pe.enc_timestamp BETWEEN @start_date AND @end_date
AND         ISNULL(b7.eso1, '') <> ''
UNION ALL
SELECT      pe.enc_id AS enc_id
FROM        patient_encounter pe
INNER JOIN  Bottle8_ b8 ON pe.enc_id = b8.enc_id
AND         pe.enc_timestamp BETWEEN @start_date AND @end_date
AND         ISNULL(b8.eso1, '') <> ''
UNION ALL
SELECT      pe.enc_id AS enc_id
FROM        patient_encounter pe
INNER JOIN  Bottle9_ b9 ON pe.enc_id = b9.enc_id
AND         pe.enc_timestamp BETWEEN @start_date AND @end_date
AND         ISNULL(b9.eso1, '') <> ''
UNION ALL
SELECT      pe.enc_id AS enc_id
FROM        patient_encounter pe
INNER JOIN  Bottle10_ b10 ON pe.enc_id = b10.enc_id
AND         pe.enc_timestamp BETWEEN @start_date AND @end_date
AND         ISNULL(b10.eso1, '') <> ''
UNION ALL
SELECT      pe.enc_id AS enc_id
FROM        patient_encounter pe
INNER JOIN  Bottle11_ b11 ON pe.enc_id = b11.enc_id
AND         pe.enc_timestamp BETWEEN @start_date AND @end_date
AND         ISNULL(b11.eso1, '') <> ''
UNION ALL
SELECT      pe.enc_id AS enc_id
FROM        patient_encounter pe
INNER JOIN  Bottle12_ b12 ON pe.enc_id = b12.enc_id
AND         pe.enc_timestamp BETWEEN @start_date AND @end_date
AND         ISNULL(b12.eso1, '') <> ''
)

SELECT              pm.description AS [Physician],
                    e.event AS [Procedure],
                    COUNT(j.enc_id) AS [Total Jars],
                    COUNT(pe.enc_id) AS [Total Encounters]
FROM                patient_encounter pe
INNER JOIN          person p ON pe.person_id = p.person_id AND pe.practice_id = @practice_id
INNER JOIN          appointments ap ON pe.enc_id = ap.enc_id
                                    AND ap.resched_ind = 'N'
                                    AND ap.delete_ind = 'N'
                                    AND ap.cancel_ind = 'N'
                                    AND ap.appt_kept_ind = 'Y'
INNER JOIN          events e ON ap.event_id = e.event_id
INNER JOIN          provider_mstr pm ON pe.rendering_provider_id = pm.provider_id
INNER JOIN          location_mstr lm ON pe.location_id = lm.location_id
LEFT JOIN           (SELECT enc_id
                     FROM jars
                     GROUP BY enc_id) AS j ON pe.enc_id = j.enc_id
WHERE               pe.enc_timestamp BETWEEN @start_date AND @end_date
GROUP BY GROUPING SETS
    ( (pm.description, e.event)
      ,ROLLUP(pm.description)
    )
ORDER BY pm.description, e.event
;WITH jars
AS
(
SELECT      pe.enc_id AS enc_id
FROM        patient_encounter pe
INNER JOIN  Bottle_1_ b1 ON pe.enc_id = b1.enc_id
AND         pe.enc_timestamp BETWEEN @start_date AND @end_date
AND         ISNULL(b1.eso1, '') <> ''
UNION ALL
SELECT      pe.enc_id AS enc_id
FROM        patient_encounter pe
INNER JOIN  Bottle2_ b2 ON pe.enc_id = b2.enc_id
AND         pe.enc_timestamp BETWEEN @start_date AND @end_date
AND         ISNULL(b2.eso1, '') <> ''
UNION ALL
SELECT      pe.enc_id AS enc_id
FROM        patient_encounter pe
INNER JOIN  Bottle3_ b3 ON pe.enc_id = b3.enc_id
AND         pe.enc_timestamp BETWEEN @start_date AND @end_date
AND         ISNULL(b3.eso1, '') <> ''
UNION ALL
SELECT      pe.enc_id AS enc_id
FROM        patient_encounter pe
INNER JOIN  Bottle4_ b4 ON pe.enc_id = b4.enc_id
AND         pe.enc_timestamp BETWEEN @start_date AND @end_date
AND         ISNULL(b4.eso1, '') <> ''
UNION ALL
SELECT      pe.enc_id AS enc_id
FROM        patient_encounter pe
INNER JOIN  Bottle5_ b5 ON pe.enc_id = b5.enc_id
AND         pe.enc_timestamp BETWEEN @start_date AND @end_date
AND         ISNULL(b5.eso1, '') <> ''
UNION ALL
SELECT      pe.enc_id AS enc_id
FROM        patient_encounter pe
INNER JOIN  Bottle6_ b6 ON pe.enc_id = b6.enc_id
AND         pe.enc_timestamp BETWEEN @start_date AND @end_date
AND         ISNULL(b6.eso1, '') <> ''
UNION ALL
SELECT      pe.enc_id AS enc_id
FROM        patient_encounter pe
INNER JOIN  Bottle7_ b7 ON pe.enc_id = b7.enc_id
AND         pe.enc_timestamp BETWEEN @start_date AND @end_date
AND         ISNULL(b7.eso1, '') <> ''
UNION ALL
SELECT      pe.enc_id AS enc_id
FROM        patient_encounter pe
INNER JOIN  Bottle8_ b8 ON pe.enc_id = b8.enc_id
AND         pe.enc_timestamp BETWEEN @start_date AND @end_date
AND         ISNULL(b8.eso1, '') <> ''
UNION ALL
SELECT      pe.enc_id AS enc_id
FROM        patient_encounter pe
INNER JOIN  Bottle9_ b9 ON pe.enc_id = b9.enc_id
AND         pe.enc_timestamp BETWEEN @start_date AND @end_date
AND         ISNULL(b9.eso1, '') <> ''
UNION ALL
SELECT      pe.enc_id AS enc_id
FROM        patient_encounter pe
INNER JOIN  Bottle10_ b10 ON pe.enc_id = b10.enc_id
AND         pe.enc_timestamp BETWEEN @start_date AND @end_date
AND         ISNULL(b10.eso1, '') <> ''
UNION ALL
SELECT      pe.enc_id AS enc_id
FROM        patient_encounter pe
INNER JOIN  Bottle11_ b11 ON pe.enc_id = b11.enc_id
AND         pe.enc_timestamp BETWEEN @start_date AND @end_date
AND         ISNULL(b11.eso1, '') <> ''
UNION ALL
SELECT      pe.enc_id AS enc_id
FROM        patient_encounter pe
INNER JOIN  Bottle12_ b12 ON pe.enc_id = b12.enc_id
AND         pe.enc_timestamp BETWEEN @start_date AND @end_date
AND         ISNULL(b12.eso1, '') <> ''
),
totals AS(
SELECT              pm.description AS [Physician],
                    e.event AS [Procedure],
                    COUNT(j.enc_id) AS [Total Jars],
                    COUNT(pe.enc_id) AS [Total Encounters],
                    CASE WHEN COUNT(pe.enc_id) <> 0 THEN CONVERT(float, COUNT(j.enc_id))/CONVERT(float, COUNT(pe.enc_id)) ELSE 0 END AS [AvgTotal]
FROM                patient_encounter pe
INNER JOIN          person p ON pe.person_id = p.person_id AND pe.practice_id = @practice_id
INNER JOIN          appointments ap ON pe.enc_id = ap.enc_id
                                    AND ap.resched_ind = 'N'
                                    AND ap.delete_ind = 'N'
                                    AND ap.cancel_ind = 'N'
                                    AND ap.appt_kept_ind = 'Y'
INNER JOIN          events e ON ap.event_id = e.event_id
INNER JOIN          provider_mstr pm ON pe.rendering_provider_id = pm.provider_id
INNER JOIN          location_mstr lm ON pe.location_id = lm.location_id
LEFT JOIN           (SELECT enc_id
                     FROM jars
                     GROUP BY enc_id) AS j ON pe.enc_id = j.enc_id
WHERE               pe.enc_timestamp BETWEEN @start_date AND @end_date
GROUP pm.description, e.event)
SELECT [Physician], [Procedure], 
       Avg([Total Jars]) [Total Jars], 
       Avg([Total Encounters]) [Total Encounters], 
       Avg([AvgTotal]) [AvgTotal]
from totals
GROUP BY [Physician], [Procedure]
WITH ROLLUP