שאלה קטנה ב SQL

achokler

New member
שאלה קטנה ב SQL

יש לי נתונים שמופעים פעמיים, אני מוצא אותם
select a,b from c group by a,b having count(b)>1​
אני מקבל את התשובות של השורות שצריך למחוק נניח התוצאה aa,bb אני מוחק על ידי
delete top(1) from c where a='aa' or a='bb'​
איך אני משלב בין שני ה SQL - ים כלומר שהתוצאה של הראשון תמחק מהטבלה
 

ShlomoBenAri

New member
תנסה באופן הבא:

DELETE Tbl FROM ( select (ROW_NUMBER() OVER (PARTITION BY a,b ORDER BY a,b )) as i FROM [Testim].[dbo].[Table_Test1] ) Tbl WHERE Tbl.i>1​
 

ShlomoBenAri

New member
עובד או לא ../images/Emo35.gif ../images/Emo35.gif - יש הסברים ב BOL ....

זמני קצר (אני מקליד לאט)
 

achokler

New member
עובד עובד את תותח אבל מה זה BOL ?

אם לא למדתי מזה מחר אני אשאל אותה שאלה
 

ShlomoBenAri

New member
SQLServer Help=BOL=Books On Line

תכונה חדשה ב 2005 בקצרה:
ROW_NUMBER() = מיספור השורות OVER ([PARTITION BY a,b ] ORDER BY a,b)=באיזה תנאים PARTITION BY a,b = לא חובה , ממספר את השורות ב'גרופינג' ORDER BY a,b = חייב לציין, כשהוא לבד יוצר מיספור רץ לפי סדר מבוקש​
 
למעלה