ورود

View Full Version : سوال: نوشتن کوئری



hosein123
دوشنبه 18 فروردین 1393, 15:13 عصر
با سلام
من دوتا جدول کاربر و خبر دارم و میخوام کوئری بنویسم که اطلاعات کلیه کاربران با تعداد خبرهایی که منتشر کرده اند را بدست بیارم توی نوشتن کوئری مشکل دارم
لطفا کمکم کنید
جدول کاربر:نام ،نام خانوادگی،ایمیل،نام کاربری(کلید اصلی)
جدول خبر :کد خبر (کلید اصلی)،نام کاربری کاربر (کلید خارجی)

us1234
دوشنبه 18 فروردین 1393, 23:29 عصر
select * from tbl_news
join tbl_user on tbl_user.id = tbl_news.user_id
where tbl_user.id = 1


تمامی خبر های عضو با آی دی 1 را پیدا میکند .

hosein123
دوشنبه 18 فروردین 1393, 23:39 عصر
چطوری تعداد کلیه خبرهای همه کاربران را به دست اورد

us1234
دوشنبه 18 فروردین 1393, 23:50 عصر
برای کلیه سطر های تیبل اخبار مثل زیر :
select count(*) as cnews from tbl_news
برای کلیه اخبار یک یوزر خاص مثل این :


select count(*) as cnews from tbl_news
join tbl_user on tbl_user.id = tbl_news.user_id
where tbl_user.id = 1


برای نمایش تعداد خبر هر کاربر با نام کاربری ( جلو نام کاربری تعداد خبر همون فرد ) مثل زیر :

select tbl_user.uname ,
(select count(*) from tbl_news where tbl_news.user_id =tbl_user.id) as cnews
from tbl_news
join tbl_user on tbl_user.id = tbl_news.user_id

hosein123
سه شنبه 19 فروردین 1393, 16:59 عصر
این برای کاربرانی هست که خبر منتشر کردن
کاربرانی که خبر منتشر نکردن رو نشون نمیده؟

us1234
سه شنبه 19 فروردین 1393, 18:22 عصر
این برای کاربرانی هست که خبر منتشر کردن
کاربرانی که خبر منتشر نکردن رو نشون نمیده؟

کد آخر پست آخری که زدم بله مربوط به کاربرانی است که در آی دی آنها در تیبل اخبار ست شده باشه . برای اینکه افرادی که اخبار منتشر نکردند هم نشون بده باید left inner join بزنید به تیبل یوزر ها