SQL

אירית145

New member
SQL

שלום,
לא מצליחה להיכנס עם המשתמש הקבוע שלי, נאלצתי להיכנס כ"אורח".

יש לי שתי טבלאות (ספירה יומית ויחידות)
הטבלה הראשונה מכילה נתון "סוג פעולה", אשר כולל שתי פעולות: מכירות ורכישות.
אני צריכה להציג את השילוב של שתי הטבלאות על ידי כך ש"סוג פעולה" יוצג בשתי עמודות: אחת- מכירות והשניה רכישות.
אני מצליחה להגיע רק למצב של שילוב בין שתי הטבלאות (באמצעות JOIN) והצגה של כל הפעולות בעמודה אחת.
איך ניתן להציג אחרת?

תודה רבה
 

i t a i b

New member
יותר פרטים

אירית שלום,

על מנת שנוכל לסייע לך,

1. על איזה פלטפורמת בסיס נתונים את עובדת?
2. תצרפי דוגמאות של נתונים לדוגמא של הטבלאות, ומה היית רוצה לקבל.

תודה רבה
 

אירית145

New member
itaib, גרי הגיד נכון את מה שאני רוצה לקבל

אני פרסמתי את השאילתה שלי ומצפה להבין, מה לא בסדר בה

תודה
 

גרי רשף

New member
אם אני מבין נכון..

בטבלה היומית את צריכה לעשות Group By לפי יום כך שיהיו שתי עמודות קיבוץ- אחת לפי רכישה ואחת לפי מכירה;
וה-Join יהיה בין ה-Group By לבין הטבלה השניה.

לכך הכוונה?
 

אירית145

New member
גרי, הבנת נכון את המשימה

אבל בפועל משהו לא הולך טוב.
הנה השאילתה:
select [Quantity],[Ctegory_ID],[dbo].[Daily_Counts].[Unit_Code],[Todate],[Unit_Name],count ([Ctegory_ID]) as NoOFCategory
from [dbo].[Daily_Counts]
join [dbo].[Units] on [dbo].[Daily_Counts].[Unit_Code]=[dbo].[Units].[Unit_Code]
group by [Ctegory_ID]

מה לא בסדר?

תודה
 

גרי רשף

New member
נסי כך..

Select *
From (Select Unit_Code
Count(Case When Type='Buy' Then Ctegory_ID End) Buy,
Count(Case When Type='Sell' Then Ctegory_ID End) Sell
From [dbo].[Daily_Counts]
Group By Unit_Code) C
Join [dbo].[Units]
on C.[Unit_Code]=[dbo].[Units].[Unit_Code];

מן הסתם צריך לשנות את שם העמודה מ-Type למשהו אחר ואת התוכן שלה..
 

אירית145

New member
גרי תודה, ניסיתי, אבל

זה מה שקיבלתי (רצ"ב, מסמך WORD)
וזה מה שאני צריכה לקבל (רצ"ב, מסמף EXCEL)
 

גרי רשף

New member
אינני מצליח למצוא קשר..

..בין מה שאני כתבתי לבין מה שמופיע במסמכים שלך.
לפי ה-SQL שלי צריכה להיות עמודה בשם Buy ועמודה בשם Sale.
 

גרי רשף

New member
אנסה לכוון אותך

בשאילתת המשנה (זו שבתוך הסוגריים עם ה-Group By) יש להוסיף את כל העמודות החסרות (כרגע מופיעה רק עמודה Unit_Code).
כל עמודה שאת מוסיפה ב-Select עלייך להוסיף אותה גם ב-Group By.

דבר נוסף- יתכן ובמקום בפונקצייה Count יש להשתמש בפונקצייה Sum.

נסי לשחק עם זה וראי אם את מתקדמת.
אם לא- כתבי אילו עמודות יש בכל אחת משתי הטבלאות ואני אנסה ששוב.
 
למעלה