PDA

View Full Version : سوال: مشکل در انتخاب داده ها از دو تا جدول!!!



مهدی رحیم زاده
شنبه 16 شهریور 1387, 22:01 عصر
دو تا Table دارم با این مشخصات :
Table اول به اسم Answer با این فیلد ها :
AnCode
AnText
و Table دوم به اسم Result با این فیلد ها :
AnCode
QuCode
حالا می خوام به ازاء هر رکورد از Answer تعداد اون از Result رو هم بدست بیارم اما نمی تونم !!!!
منظورم اینه که برای هر AnText از Answer تعداد AnCodeها از Result رو بدست بیارم اما نمی تونم اینم کدی که من ازش استفاده می کنم ، اما خطا میده و اجرا نمیشه !!!!!

SELECT Answer.AnText, COUNT(Result.AnCode) AS _Counter
FROM Result INNER JOIN
Answer ON Result.AnCode = Answer.AnCode
ممنون

nedata
یک شنبه 17 شهریور 1387, 00:18 صبح
سلام
هر موقع که از توابع Aggrigate مانند sum,count,avg,... استفاده می کنید و فیلد های دیگری را در کنار آن قرار می دهید حتما باید از group by استفاده کنید



SELECT Answer.antext, COUNT(Result.Ancode) AS _Counter
FROM Result INNER JOIN
Answer ON Result.Ancode = Answer.Ancode
GROUP BY Answer.antext

مهدی رحیم زاده
یک شنبه 17 شهریور 1387, 07:32 صبح
بازم اشکال گرفت
اینم اشکالش :

karmand
یک شنبه 17 شهریور 1387, 08:10 صبح
فکر کنم باید right join باشد چون در جدول دوم تعداد دارد و جدول اول یکی

مهدی رحیم زاده
یک شنبه 17 شهریور 1387, 13:13 عصر
بازم درست نشد . همون اشکال رو میگیره !!!!

nedata
یک شنبه 17 شهریور 1387, 14:44 عصر
این خطا واسه نوع داده انتخابی شماست.
میشه بگید از چه نوع داده واسه فیلدها استفاده کردید؟

مهدی رحیم زاده
یک شنبه 17 شهریور 1387, 20:46 عصر
AnCode از نوع bigint و AnText از نوع Text

nedata
دوشنبه 18 شهریور 1387, 21:52 عصر
شما AnText را از نوع nchar,char,varchar بگیرید مشکلتون حل می شه

مهدی رحیم زاده
سه شنبه 19 شهریور 1387, 07:36 صبح
ممنونم مشکل حل شد باید همون نوع رو عوض می کردم از نوع Varchar گزاشتمش درست شد . میشه دلیل اینو هم بدونم چه فرقی بین Text و Nvarchar و ... هست .
ممنون

omid1240
چهارشنبه 20 شهریور 1387, 12:31 عصر
SELECT T1.*,

(SELECT COUNT(*)

FROM T2
WHERE T1.Row=T2.Row)

FROM T1