שאלות ב SQL

ראש צוות

משתמש סופר מקצוען
אני לא מוצאת הסבר ברור על זה באינטרנט.
אשמח לעזרה דחופה.
א.
האם אפשר לעשות שאילתת SQL עם תת שאילתה בשורת ה select?

ב.
אני זוכרת שיש כזה דבר להביא את הטבלה פעמיים.
בכזה מקרה צריך לקשר בין הטבלאות?
לדוגמא
select.png
 

s2061

משתמש סופר מקצוען
הנדסת תוכנה
א.
את בעצם רוצה לעשות שליפה על שליפה?
אז כן, רק שאת הSELECT השני את שמה בFROM .

ב. המפתח של הטבלאות זה commentID ו postID נכון?!
ואת בעצם משווה את השדות האלו משני הטבלאות לאותו משתנה, אז זה בדיוק כמו להשוות אותן אחת לשניה + להשוות את השדה באחת הטבלאות למשתנה.
 

ראש צוות

משתמש סופר מקצוען
א.
את בעצם רוצה לעשות שליפה על שליפה?
אז כן, רק שאת הSELECT השני את שמה בFROM .

איך בדיוק?
אני רוצה את השאילתא שבצילום לשים כעמודה בשאילתא הראשית.
פשוט לכתוב ב- from וזה יגיע כעמודה?
ואם אני רוצה למיין לפי זה את הראשית?

אולי הסבר יעזור,
אני רוצה לכל commentID, postID להציג את התוצאה שבצילום.
 

s2061

משתמש סופר מקצוען
הנדסת תוכנה
איך בדיוק?
אני רוצה את השאילתא שבצילום לשים כעמודה בשאילתא הראשית.
פשוט לכתוב ב- from וזה יגיע כעמודה?
ואם אני רוצה למיין לפי זה את הראשית?

אולי הסבר יעזור,
אני רוצה לכל commentID, postID להציג את התוצאה שבצילום.

הטבלה של השאילתה הפנימית, לא קיימת בחיצונית?
כאילו למה את צריכה בעצם את השאילה הפנימית בפני עצמה? למה לא לערבב אותה עם החיצונית ב where וב from?

(אני חשבתי שאת רוצה לעשות שליפה על שליפה, ובמקרה הזה את שמה את הSELECT השני בFROM , אבל זה לא נשמע המקרה שלך).
 

ראש צוות

משתמש סופר מקצוען
הטבלה של השאילתה הפנימית, לא קיימת בחיצונית?
כאילו למה את צריכה בעצם את השאילה הפנימית בפני עצמה? למה לא לערבב אותה עם החיצונית ב where וב from?

(אני חשבתי שאת רוצה לעשות שליפה על שליפה, ובמקרה הזה את שמה את הSELECT השני בFROM , אבל זה לא נשמע המקרה שלך).

לא קיימת בחיצונית.
אולי אפשר לעשות באחת. לא יודעת.
 

s2061

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

בכל אופן, תבדקי אם נכון לשלב את הטבלה הזו בשאילתה הראשית, אם זה ילך זה הכי פשוט.
 

מ.ש.

משתמש מקצוען
הנדסת תוכנה
D I G I T A L
זה sql server? כי בו לא ממש השתמשתי לאחרונה, חוץ משאילתות די בסיסיות לתלמידות שלי...
בmysql, משתמשים הרבה בselect עבור שדה
לגבי צירוף טבלה לעצמה, די מדגדג לי שצריך לקשר בינהן.
אם את רוצה, אוכל לבדוק בחומר העתיק שלי
 

ראש צוות

משתמש סופר מקצוען
זה sql server? כי בו לא ממש השתמשתי לאחרונה, חוץ משאילתות די בסיסיות לתלמידות שלי...
בmysql, משתמשים הרבה בselect עבור שדה
לגבי צירוף טבלה לעצמה, די מדגדג לי שצריך לקשר בינהן.
אם את רוצה, אוכל לבדוק בחומר העתיק שלי
האמת,
זה תרגיל שניתן לי במסגרת ראיון למשרה כולשהי.
ובאחת הנקודות הסתבכתי.
לא התבקשתי לכתוב בSQL ספציפי.
אלא רק להציג שאילתות.
מאמינה (מקווה) שלא משנה להם איך.
 

מ.ש.

משתמש מקצוען
הנדסת תוכנה
D I G I T A L
אוקי, אז בmysql אני משתמשת המון בתחביר הזה
SQL:
select field1,
(select field3 from table2) as field2
from table1
 

מ.ש.

משתמש מקצוען
הנדסת תוכנה
D I G I T A L
אין לי תשובה ברורה שאני יודעת, אני מנסה לחשוב לפי ההגיון.
אמורה להיות אפשרות לכאורה, כי group by הוא מבצע כמעט אחרון.
נסי.
אם זה מצליח, כנראה זה עובד ;)
 

עוגיות

משתמש מקצוען
@ראש צוות
אם את עדיין צריכה ואם הבנתי אותך נכון אז יש לי דוגמא:
SELECT lkup_Field.FieldNameInHibrow, ChangesLog.InDate ,
(select case when lkup_Field.FieldId=300
then obligo else obligoSolo end
from owners
where owners.owner_id=AsmachtaId) as obligo,
(select case when lkup_Field.FieldId=300 then obligo else obligoSolo end
from owners
where owners.owner_id=AsmachtaId) - OldValue as OldValue
FROM ChangesLog
INNER JOIN owners
ON owners.owner_id = ChangesLog.AsmachtaId
INNER JOIN lkup_Field
ON ChangesLog.FieldId = lkup_Field.FieldId
inner join (select max(LogId) as idMax,lkup_Field.FieldId
from ChangesLog
INNER JOIN owners
ON owners.owner_id = ChangesLog.AsmachtaId
INNER JOIN lkup_Field
ON ChangesLog.FieldId = lkup_Field.FieldId
WHERE (lkup_Field.FieldId IN (300, 372))
group by lkup_Field.FieldId )mmaxLog on idMax=LogId WHERE owners.owner_id = 204167 and (lkup_Field.FieldId IN (300, 372))
 

ראש צוות

משתמש סופר מקצוען
@ראש צוות
אם את עדיין צריכה ואם הבנתי אותך נכון אז יש לי דוגמא:
SELECT lkup_Field.FieldNameInHibrow, ChangesLog.InDate ,
(select case when lkup_Field.FieldId=300
then obligo else obligoSolo end
from owners
where owners.owner_id=AsmachtaId) as obligo,
(select case when lkup_Field.FieldId=300 then obligo else obligoSolo end
from owners
where owners.owner_id=AsmachtaId) - OldValue as OldValue
FROM ChangesLog
INNER JOIN owners
ON owners.owner_id = ChangesLog.AsmachtaId
INNER JOIN lkup_Field
ON ChangesLog.FieldId = lkup_Field.FieldId
inner join (select max(LogId) as idMax,lkup_Field.FieldId
from ChangesLog
INNER JOIN owners
ON owners.owner_id = ChangesLog.AsmachtaId
INNER JOIN lkup_Field
ON ChangesLog.FieldId = lkup_Field.FieldId
WHERE (lkup_Field.FieldId IN (300, 372))
group by lkup_Field.FieldId )mmaxLog on idMax=LogId WHERE owners.owner_id = 204167 and (lkup_Field.FieldId IN (300, 372))
וואו
תודה!

יש פה מישהו שמבין/נה בשרטוט תרשימים?
יש לי שאלה אל מקובלות.
תודה
 

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

הפרק היומי

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


תהילים פרק קמ

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

ספירת העומר

לוח מודעות

למעלה