איך מעדכנים משתנה בתוך שאילתא ב SQL

הנושא בפורום 'קהילת מפתחי אתרי אינטרט' פורסם ע"י תאו, ‏12/6/19 ב- 11:52.

  1. תאו

    תאו משתמש רשום

    הצטרף:
    ‏26/2/17
    הודעות:
    287
    תודות :
    12
    נקודות:
    19
    אני רוצה שאחד הערכים שהוא שולף לי יכנס לי לתוך משתנה ,
    ז"א איך עושים SET על משתנה בשאילתא ?
     
  2. מאוישת

    מאוישת משתמש צעיר

    הצטרף:
    ‏3/8/16
    הודעות:
    74
    תודות :
    145
    נקודות:
    39
    מגדירה משתנה לפני השאילתא ובשאילתא עושה משתנה = לערך.
    לדוג':
    Declare @a int
    select @a=CusIf from customers
     
  3. מ.ש.

    מ.ש. משתמש מקצוען פיתוח / אפיון / עיצוב אתרים

    הצטרף:
    ‏22/10/17
    הודעות:
    318
    תודות :
    559
    נקודות:
    109
    אפשר לעשות set עם שאילתא (במקרה כזה, חובה שהשאילתא תחזיר ערך אחד בלבד, סקאלרי)
    (אם הבנתי נכון את השאלה.)
     
  4. תאו

    תאו משתמש רשום

    הצטרף:
    ‏26/2/17
    הודעות:
    287
    תודות :
    12
    נקודות:
    19
    עשיתי שאילתא שמורכבת מכמה תתי שאילתות , השאילתא בסוף שולפת 3 שדות ...
    אני צריכה שערך אחד מהשאילתא יוחזר לי לתוך משתנה ,
    השאלה אם יש דרך לעשות את זה בצורה יעילה יותר מאשר להעתחק את השאילתא לתוך משתנה רק עם הערך הסקלרי הבודד ...
     
  5. מ.ש.

    מ.ש. משתמש מקצוען פיתוח / אפיון / עיצוב אתרים

    הצטרף:
    ‏22/10/17
    הודעות:
    318
    תודות :
    559
    נקודות:
    109
    רשומה אחת עם שלוש שדות?
     
  6. תאו

    תאו משתמש רשום

    הצטרף:
    ‏26/2/17
    הודעות:
    287
    תודות :
    12
    נקודות:
    19
    אני חושבת שאני לא צריכה משתנה אלא ניסיתי לעשות JOIN פשוט על הטבלה הזמנית שיצרתי (השאילתא הנ"ל שאמרתי שעשיתי ... ) ולחבר אותה לטבלה הסופית ששולף וזה נותן לי את השגיאה הבאה :

    Cannot resolve the collation conflict between "SQL_Latin1_General_CP850_CI_AS" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation.
     
  7. תאו

    תאו משתמש רשום

    הצטרף:
    ‏26/2/17
    הודעות:
    287
    תודות :
    12
    נקודות:
    19
    הצלחתי , תודה !!