› פורומים › אפיון ופיתוח פריוריטי › SELECT בתוך WHERE
- This topic has 7 תגובות, 3 משתתפים, and was last updated לפני 14 שנים, 4 חודשים by Lior.
- Post
מוצגות 7 תגובות – 1 עד 7 (מתוך 7 סה״כ)
- Replies
-
- יולי 15, 2010 בשעה 10:55 am
הקוד הוא
[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]- יולי 15, 2010 בשעה 10:57 am
הודעת השגיאה היא
SQL Server Error (ffffffff80040e14)
Ambiguous column name 'PLDATE'. (897648165073)פריוריטי 14
- יולי 15, 2010 בשעה 12:30 pm
לא הבאת את כל השאילתא אבל הבעיה היא לע"ד שבתת-שאילתא יש לך אותה טבלה והמערכת לא יודעת לאיזו מהן אתה מתייחס.
תן alias לאחת מהן וכשתזכיר PLDATE תפרט לאיזו טבלה אתה מתכוון (או תן שם הטבלה, או תן את ה-alias)[ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]- יולי 15, 2010 בשעה 2:09 pm
גם כך מקבלים אותה הודעת שגיאה
[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)
תודה- יולי 15, 2010 בשעה 2:14 pm
ליאור לתשומת ליבך הקוד ניקצץ
בנוסף גם לא נשמרו שינויים בעריכה לאחר ששלחתי אותו ונכנסתי לעידכון.רצב קובץ עם הקוד המלא [file name=select.txt size=386]https://www.priority-forums.com/he/images/fbfiles/files/select.txt[/file]
- יולי 15, 2010 בשעה 8:25 pm
פתאום שמתי לב שהבעיה היא לא של פריוריטי אלא של sql server
זה בגלל התת-שאילתא, פריוריטי כנראה מייצרת שאילתא בעייתית ואין לך שליטה ישירה על זה.
חשב את הMAX מראש לתוך משתנה ותקרא מהמשתנה בשאילתא[ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
מוצגות 7 תגובות – 1 עד 7 (מתוך 7 סה״כ)
- יש להתחבר למערכת על מנת להגיב.