SELECT בתוך WHERE

פורומים אפיון ופיתוח פריוריטי SELECT בתוך WHERE

  • Post
    moshe
    משתתף
    תיקון בתגובה
מוצגות 7 תגובות – 1 עד 7 (מתוך 7 סה״כ)
  • Replies
    moshe
    משתתף
    הקוד הוא
    [code:1]
    SELECT PLDATE FROM PRICELISTDATE
    WHERE PLDATE BETWEEN 02/07/10 AND 07/07/10
    AND PLDATE = (SELECT MAX(PLDATE) FROM PRICELISTDATE
    WHERE PLDATE [/code:1]
    moshe
    משתתף
    הודעת השגיאה היא
    SQL Server Error (ffffffff80040e14)
    Ambiguous column name 'PLDATE'. (897648165073)

    פריוריטי 14

    yitzchok
    משתתף
    IL
    לא הבאת את כל השאילתא אבל הבעיה היא לע"ד שבתת-שאילתא יש לך אותה טבלה והמערכת לא יודעת לאיזו מהן אתה מתייחס.
    תן alias לאחת מהן וכשתזכיר PLDATE תפרט לאיזו טבלה אתה מתכוון (או תן שם הטבלה, או תן את ה-alias)
      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    moshe
    משתתף
    גם כך מקבלים אותה הודעת שגיאה
    [code:1]
    SELECT PLDATE FROM PRICELISTDATE P
    WHERE P.PLDATE BETWEEN 02/07/10 AND 07/07/10
    OR P.PLDATE = (SELECT MAX(PP.PLDATE) FROM PRICELISTDATE PP
    WHERE PP.PLDATE

    [/code:1]

    SQL Server Error (ffffffff80040e14)
    Ambiguous column name 'PLDATE'. (897648165073)
    תודה

    moshe
    משתתף
    ליאור לתשומת ליבך הקוד ניקצץ
    בנוסף גם לא נשמרו שינויים בעריכה לאחר ששלחתי אותו ונכנסתי לעידכון.

    רצב קובץ עם הקוד המלא [file name=select.txt size=386]https://www.priority-forums.com/he/images/fbfiles/files/select.txt[/file]

    yitzchok
    משתתף
    IL
    פתאום שמתי לב שהבעיה היא לא של פריוריטי אלא של sql server
    זה בגלל התת-שאילתא, פריוריטי כנראה מייצרת שאילתא בעייתית ואין לך שליטה ישירה על זה.
    חשב את הMAX מראש לתוך משתנה ותקרא מהמשתנה בשאילתא
      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    Lior
    מנהל בפורום
    ה PLDATE הראשון אינו כולל את שם הטבלה. תנסה לרשום גם את שם הטבלה
מוצגות 7 תגובות – 1 עד 7 (מתוך 7 סה״כ)
  • יש להתחבר למערכת על מנת להגיב.