/* Create a table called MY_NUMBERS */
CREATE TABLE MY_NUMBERS(ID VARCHAR PRIMARY KEY, NUM1 INTEGER, NUM2 INTEGER, NUM3 INTEGER);
/* Create few records in this table */
INSERT INTO MY_NUMBERS VALUES(1, 32,36,85);
INSERT INTO MY_NUMBERS VALUES(2, 86,5,43);
INSERT INTO MY_NUMBERS VALUES(3, 457,37,1);
INSERT INTO MY_NUMBERS VALUES(4, 53,2,127);
INSERT INTO MY_NUMBERS VALUES(5, 8,7,565);
/* Display all the records from the table with SUM rows and columns */
SELECT DISTINCT COALESCE(ID, 'total') AS TOTAL, SUM(NUM1), SUM(NUM2),SUM(NUM3), SUM(NUM1 + NUM2 + NUM3) AS 'total'
FROM MY_NUMBERS
GROUP BY ID WITH ROLLUP
/* Create a table called MY_NUMBERS */
CREATE TABLE MY_NUMBERS(ID VARCHAR PRIMARY KEY, NUM1 INTEGER, NUM2 INTEGER, NUM3 INTEGER, NUM4 INTEGER);
/* Create few records in this table */
INSERT INTO MY_NUMBERS VALUES(1, 32,36,85, 82);
INSERT INTO MY_NUMBERS VALUES(2, 86,5,43, 76);
INSERT INTO MY_NUMBERS VALUES(3, 457,37,1, 68);
INSERT INTO MY_NUMBERS VALUES(4, 53,2,127, 59);
INSERT INTO MY_NUMBERS VALUES(5, 8,7,565, 27);
-- 1: STATIC QUERY
/* Display all the records from the table with SUM rows and columns */
SELECT DISTINCT COALESCE(ID, 'total') AS #, SUM(NUM1), SUM(NUM2),SUM(NUM3), SUM(NUM1 + NUM2 + NUM3) AS 'total'
FROM MY_NUMBERS
GROUP BY ID WITH ROLLUP
-- 2: DYNAMIC QUERY
/* Store columns names in temp table */
SELECT * INTO #MY_NUMBERS_COLUMNS
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'MY_NUMBERS'
DECLARE @MY_NUMBERS_COLUMNS_NAMES_SUM NVARCHAR(MAX)
SET @MY_NUMBERS_COLUMNS_NAMES_SUM = STUFF((
SELECT 'SUM(' + COLUMN_NAME + '), '
FROM #MY_NUMBERS_COLUMNS
WHERE COLUMN_NAME != 'ID'
FOR XML PATH('')
), 1, 0, '');
-- output: SUM(NUM1), SUM(NUM2), SUM(NUM3),
DECLARE @MY_NUMBERS_COLUMNS_NAMES_COMMA NVARCHAR(MAX)
SET @MY_NUMBERS_COLUMNS_NAMES_COMMA = STUFF((
SELECT '+' + COLUMN_NAME
FROM #MY_NUMBERS_COLUMNS
WHERE COLUMN_NAME != 'ID'
FOR XML PATH('')
), 1, 1, '');
-- output: NUM1+NUM2+NUM3
/* Using SP_EXECUTESQL */
DECLARE @QRY NVARCHAR(MAX)
SET @QRY = 'SELECT DISTINCT COALESCE(ID, ''total'') AS #, ' + @MY_NUMBERS_COLUMNS_NAMES_SUM +
' SUM(' + @MY_NUMBERS_COLUMNS_NAMES_COMMA + ') AS [total] ' +
'FROM MY_NUMBERS ' +
'GROUP BY ID WITH ROLLUP';
EXEC SP_EXECUTESQL @QRY
אל תחמיצו!!!
מנוי פרימיום באתר פרוג, יקפיץ את המוניטין שלך לקהל גדול שאסור לך להחמיץ!
ועכשיו בהזדמנות, מבצע פסח 10% הנחה ברכישת מנוי שנתי!
לוח לימודים
מסלולי לימוד שאפשר לההצטרף
אליהם ממש עכשיו:
2.04
כ"ג אדר ב'
השקה חגיגית
חדש בפרוג
קורס חדשנות AI ובינה מלאכותית
14 שיעורים מפוצצים תוכן על כלי הAI השונים ליצירת תמונות וויז'ואל, עריכת וידאו ומושן, כתיבה ורעיונות, אפיון ועיצוב אתרים ועוד המון!
ההרשמה נפתחה!
20.03
י' אדר ב'
פתיחת מסלול
עיצוב ואדריכלות פנים
מלגות גבוהות!
26.03
טז' אדר ב'
פתיחת מסלול
מאסטר בשיווק דיגיטלי
מלגות גבוהות!
8.05
ל' ניסן
פתיחת מסלול
אוטומציות עסקיות, בוטים והטמעת מערכות מידע
מלגות גבוהות!
9.05
א' אייר
ירושלמי?
יש לנו מלגה מטורפת עבורך! קורס במימון כמעט מלא!!
אוטומציות עסקיות, בוטים והטמעת מערכות מידע
ההרשמה בעיצומה
28.05
כ' אייר
פתיחת מסלול מורחב:
פיתוח ובניית אתרים
מלגות גבוהות!
תהילים פרק קכב
א שִׁיר הַמַּעֲלוֹת לְדָוִד שָׂמַחְתִּי בְּאֹמְרִים לִי בֵּית יְהוָה נֵלֵךְ:ב עֹמְדוֹת הָיוּ רַגְלֵינוּ בִּשְׁעָרַיִךְ יְרוּשָׁלִָם:ג יְרוּשָׁלִַם הַבְּנוּיָה כְּעִיר שֶׁחֻבְּרָה לָּהּ יַחְדָּו:ד שֶׁשָּׁם עָלוּ שְׁבָטִים שִׁבְטֵי יָהּ עֵדוּת לְיִשְׂרָאֵל לְהֹדוֹת לְשֵׁם יְהוָה:ה כִּי שָׁמָּה יָשְׁבוּ כִסְאוֹת לְמִשְׁפָּט כִּסְאוֹת לְבֵית דָּוִיד:ו שַׁאֲלוּ שְׁלוֹם יְרוּשָׁלִָם יִשְׁלָיוּ אֹהֲבָיִךְ:ז יְהִי שָׁלוֹם בְּחֵילֵךְ שַׁלְוָה בְּאַרְמְנוֹתָיִךְ:ח לְמַעַן אַחַי וְרֵעָי אֲדַבְּרָה נָּא שָׁלוֹם בָּךְ:ט לְמַעַן בֵּית יְהוָה אֱלֹהֵינוּ אֲבַקְשָׁה טוֹב לָךְ: