ورود

View Full Version : استفاده ازgroup by به همراه ارتباط جداول



izadi
سه شنبه 06 آذر 1386, 09:39 صبح
من کد زیر را نوشته ام ولی درست کار نمی کند
SELECT
[baje_sarFCode],
f.[fasl_desc],
count(baje_sanadNo),
sum([baje_bed]),
sum([baje_bes])

FROM
[dbo].[baje],[dbo].[sarFasl] as f
WHERE
[baje_sarFCode]=f.[fasl_code] and [baje_date]=@baje_date
Group by baje_sarFCode,f.[fasl_desc]

اما اگر ایتمی که باعث ارتباط بین دو جدول می شود را حذف کنم جواب صحیح را بر می گرداند

SELECT
[baje_sarFCode],
count(baje_sanadNo),
sum([baje_bed]),
sum([baje_bes])

FROM
[dbo].[baje]
WHERE
[baje_date]=@baje_date
Group by baje_sarFCode

مشکل کد اول چیه ؟؟
ممنون از راهنمایی تون

odiseh
سه شنبه 06 آذر 1386, 12:06 عصر
لطفا کدتون رو داخل تگ Code بنویسید اینطوری خوانا نیست

izadi
سه شنبه 06 آذر 1386, 12:51 عصر
نمی دونم چه جوری توی تگ کد بنویسم .ایشا لله که این خوانا باشه

من کد زیر را نوشته ام ولی درست کار نمی کند

SELECT [baje_sarFCode],f.[fasl_desc],count(baje_sanadNo),sum([baje_bed]),sum([baje_bes])
FROM dbo].[baje],[dbo].[sarFasl] as f
WHERE [baje_sarFCode]=f.[fasl_code] and [baje_date]=@baje_date
[Group by baje_sarFCode,f.[fasl_desc

اما اگر ایتمی که باعث ارتباط بین دو جدول می شود را حذف کنم جواب صحیح را بر می گرداند


SELECT [baje_sarFCode], count(baje_sanadNo),sum([baje_bed]),sum([baje_bes])
FROM [dbo].[baje] WHERE [baje_date]=@baje_date Group by baje_sarFCode

odiseh
سه شنبه 06 آذر 1386, 13:20 عصر
ببین یه بار اینطوری کوئریتو امتحان کن :


SELECT [baje_sarFCode],f.[fasl_desc],count(baje_sanadNo),sum([baje_bed]),sum([baje_bes])
FROM dbo].[baje]JOIN [dbo].[sarFasl]
ON [baje_sarFCode]=f.[fasl_code]
WHERE [baje_date]=@baje_date
[Group by baje_sarFCode,f.[fasl_desc

قاعدتا نباید error بده

odiseh
سه شنبه 06 آذر 1386, 13:22 عصر
در ضمن اگه دوتا جدول روی ستونی که شرط گذاشتی مشترک هستند باید در قسمت شرط هم قبل از اسم فیلد، اسم جدولتو هم بگی
اگه باز نتونستی پیغام خطا رو بنویس تا بفهمیم که چی میگه.