עזרה בשאילתה ל SQL 2005

עזרה בשאילתה ל SQL 2005

הי, אני מנסה להריץ את השאילה הבאה ולא מקבל את התשובה הרצויה אני מריץ את זה
SELECT destination, sale_type, price AS min, description, valid_until, date, company_id, category, special, pkg_type FROM tourism WHERE (destination = N'פריז')​
ורוצה לקבל תשובה עם כל השדות כשרק השורה עם המחיר המינימלי מופיע מקווה שאני ברור -:)
 

s h i m s h o n

New member
לא ברור

איפה פה הנסיון לומר ל-DB שאתה רוצה רק את השורה עם המחיר המינימלי? רק לקרוא לעמודה בכינוי "MIN" לא יספיק :) בברכה, ש.
 
זה בדיוק מה שאני שואל

ה MIN נותן לי שורה עם מחיר מינמלי הנקודה היא : איך אני אומר הצג לי אך רק את שורה זו ...
 

זהר פלד

New member
לדעתי אין מנוס מלפצל את השאילתה...

כתוב שאילתה אחת שהיא group by על destination Id (בשאיפה שיש אחד כזה, כמובן), שתחשב min של המחיר ושאילתה נוספת שמשתמשת בה ושולפת את שאר הנתונים.
 
אז זהו, ש...

אני עושה את צעדי הממש ראשונים ב SQL , אפשר בבקשה דוגמא לכיצד אני משתמש בזה? תודה
 

זהר פלד

New member
משהו כזה:

מכיון שלא ציינת על איזה מסד נתונים אתה עובד, התחביר שהשתמשתי בו הוא של מסד הנתונים שאני עובד איתו - sql server:
-- step 1: Create a view with min prices for each destination: CREATE VIEW [v_MinPrices] AS SELECT destination_Id, MIN(price) As MinPrice FROM tourism GROUP BY destination_Id GO -- step 2 - use this view with your full query. SELECT destination, sale_type, MinPrice AS min, description, valid_until, date, company_id, category, special, pkg_type FROM tourism INNER JOIN v_MinPrices ON(tourism.destination_Id = v_MinPrices..destination_Id) WHERE (destination = N'פריז')​
שים לב שמרגע שיצרת את ה view, הוא נשמר ב DB - כלומר שאת היצירה שלו אתה מריץ רק פעם אחת.
 
תודה , לא הלך ,זה ה error

Msg 2714, Level 16, State 3, Procedure v_MinPrices, Line 5 There is already an object named 'v_MinPrices' in the database. Msg 207, Level 16, State 1, Line 5 Invalid column name ''. Msg 209, Level 16, State 1, Line 6 Ambiguous column name 'destination'. Msg 209, Level 16, State 1, Line 4 Ambiguous column name 'destination'. תארותית לפי ההגיון שלי זה היה אמור לעבוד ... אבל מה אני מבין -:)
 

זהר פלד

New member
זה כי אתה מנסה ליצור את ה view

כשהוא כבר קיים... כתבתי לך - את היצירה של ה view אתה עושה פעם אחת בלבד. אח"כ אתה פשוט משתמש בו.
 
למעלה