שאלה למבינים בקוד SQL ...

תאו

משתמש פעיל
D I G I T A L
הקוד הזה מחזיר לי NULL , כאלו הוא לא נכנס לי לIF בכלל...
declare @sum int
declare @kod int
set @kod =300
begin
select @sum
IF @kod = 300
begin
if getdate() >= '01/06/21'
BEGIN
set @sum = 2125
END
end
else if @kod =301 and getdate() >= '01/10/20'
BEGIN
set @sum = 1025
END
else
begin
set @sum = 5
end
select @sum
end
 

תאו

משתמש פעיל
D I G I T A L
אני מוציאה איזה דוח של סכום שנתי אוטומטי,
ואני צריכה לדוגמא שעבור קוד 300 עד שנת '01/06/21' זה ידפיס לי 2125 ...
 

חגי פאהן

משתמש סופר מקוצען
מנוי פרימיום
בוגר/תלמיד פרוג
עיצוב גרפי
עימוד ספרים
בעזהי"ת

זה לא sql טהור ואני לא מכיר לגמרי את הסינטקס, אבל בכ"ז עימדתי עם טאבים כדי להבין מי נגד מי.

ונראה לי שאם פונקציית getdate קטנה מ'01/06/21' (ו@kod הרי שווה 300), הרי שהוא יוצא מהתנאי מבלי שדבר הושם לתוך @sum, כי אין שם else.

upload_2017-11-13_10-24-4.png
 

תאו

משתמש פעיל
D I G I T A L
אני בניתי שאילתא מסוימת שמחזירה לי כמה שורות לקוד פרויקט מסוים ,
למשל עבור פרויקט 1 היא תחזיר לי :
1
א
ב
ג

(יש לי כמה פרויקטים השאילתא מחזירה לי עבור פרויקט אחד שבחרתי במשתנה מוגדר )
אני צריכה לעשות שאילתא שתעבור לי על כל הפרויקטים(oprj.prjcode)
ותשלוף לי עבור כל פרויקט את התוצאות מהשאילתא הראשונה שרשמתי בעמודה נפרדת ,
שבסוף אני יקבל טבלה אחת עם הרבה עמודות שכל עמודה תכיל תוצאות עבור פרויקט אחד ....
לדוגמא :עבור פרויקטים 1-3 זה ישלוף לי את העמודות מ א-ג ...
1 2 3
א.
ב.
ג.
 

אולי מעניין אותך גם...

הפרק היומי

הפרק היומי! כל ערב פרק תהילים חדש. הצטרפו אלינו לקריאת תהילים משותפת!


תהילים פרק קיט ב'

ט בַּמֶּה יְזַכֶּה נַּעַר אֶת אָרְחוֹ לִשְׁמֹר כִּדְבָרֶךָ:י בְּכָל לִבִּי דְרַשְׁתִּיךָ אַל תַּשְׁגֵּנִי מִמִּצְוֹתֶיךָ:יא בְּלִבִּי צָפַנְתִּי אִמְרָתֶךָ לְמַעַן לֹא אֶחֱטָא לָךְ:יב בָּרוּךְ אַתָּה יְהוָה לַמְּדֵנִי חֻקֶּיךָ:יג בִּשְׂפָתַי סִפַּרְתִּי כֹּל מִשְׁפְּטֵי פִיךָ:יד בְּדֶרֶךְ עֵדְוֹתֶיךָ שַׂשְׂתִּי כְּעַל כָּל הוֹן:טו בְּפִקֻּדֶיךָ אָשִׂיחָה וְאַבִּיטָה אֹרְחֹתֶיךָ:טז בְּחֻקֹּתֶיךָ אֶשְׁתַּעֲשָׁע לֹא אֶשְׁכַּח דְּבָרֶךָ:
נקרא  10  פעמים

לוח מודעות

למעלה