שאלה ב SQL

shian

New member
שאלה ב SQL

אני מנסה להריץ שאילתא שבודקת בשדה מסויים אם יש ערכים שמופיעים יותר מפעם אחת, יש למישהו רעיון?
 

muskito

New member
רעיון בקשר למה?

יש לי הרבה רעיונות. מה לא בסדר בשאילתה שלך? או שאתה רוצה דרך לבצע את השאילתה הזו? תשתמש באופרטור Count שמשמש לספירה. אתה משתמש בו בתוך שאילתה ונותן לו את העמודה שאתה רוצה לספור (כמובן יש לבנות משפט SELECT חוקי עם WHERE שיצמצם לך את תוצאות השליפה על-פי הקריטריון המבוקש ואז לבדוק מה הערך שיוצא לך בעמודה הזו. לדוגמא, השאילתה הבאה תספור לך כמה פעמים יש לקוח בשם Moshe בטבלת Customers:
Select Count(Rowid) FROM Customers Where CustomerName = ´Moshe´​
לחילופין, אם אתה רוצה נניח לשלוף רק ערכים שונים מהטבלה (וכל אחד פעם אחת), ישנה פקודה באורקל (לא יודע לגבי SQLSERVER) שנקראת Distinct, אבל זה כבר סיפור אחר.
 

ענתש

New member
או אולי אתה מתכוון שאתה מחפש

את כל הערכים שהם כפולים, לא משנה מהם... אני מסבירה: למשל יש לך טבלת "people" שמכילה: name, IDnumber ואתה רוצה לדעת אם יש אנשים שיש להם את אותו מספר תעודת זהות בטעות ומהם מספרי תעודת הזהות הכפולים... אז הנה: select IDnumber, count(name) from people group by IDnumber Having count(name) > 1 תקבל כתוצאה רשימה של מספרי תעודת הזהות שמופיעים בטבלה יותר מפעם אחת.
 
למעלה