PDA

View Full Version : سلکت اطلاعات



juza66
چهارشنبه 08 مهر 1394, 10:00 صبح
با سلام و وقت بخیر خدمت اساتید

آیا راهی هست که بتونم به غیر از اطلاعاتی که از دیتابیس سلکت میکنمُ اونایی هم که سلکت نشده تویی دیتاگرید دیگه بریزم؟!

اینجوری بگم بهتره که:


1. یک دستور دارم برای سلکت اطلاعات مثلا از تاریخ 7 مهر تا 8 مهر (خوب) تا اینجا اطلاعات سلکت شده رو می ریزم تویی دیتاگرید ...

2. الان میخوام اونایی هم که سلکت نشده بریزم تویی یک دیتاگرید دیگه ..


آیا امکانش هست؟! یا راه حل دیگه ای باشه؟!!


تشکر

محمد رضا فاتحی
چهارشنبه 08 مهر 1394, 10:14 صبح
خوب می تونید از NOT استفاده کنید

Mahmoud Zaad
چهارشنبه 08 مهر 1394, 10:19 صبح
سلام
یک راه این هست که علاوه بر سلکت اصلی یه سلکت دیگه بنویسد و از Not یا Not in استفاده کنید.
SELECT * FROM Products
WHERE Price NOT BETWEEN 10 AND 20;
یک راه هم این هست که کل اطلاعات رو لود کنید و بعد با استفاده از دیتاتیبل و تابع Select (http://www.dotnetperls.com/datatable-select) کارها رو انجام بدید.

********
من در حال نوشتن بودم جناب فاتحی زودتر جواب دادند.

juza66
چهارشنبه 08 مهر 1394, 18:25 عصر
تشکر
یک سوال دیگه هم دارم اینه که ...

1. من یک کاربر رو ثبت می کنم
2. بعد برای اون میام یکسری اطلاعات رو میگیرم و درون تیبل دیگه به نام تاریخچه ثبت می کنم
3. حالا ممکنه برای این کاربر بیام در طی چند روز اطلاعات ذخیره کنم

حالا میخوام تاریخچه رو سلکت کنم چطور باید دستور بنویسم که مثلا آخرین تاریخچه یک کاربر منظورم هستش.. دیگه اسم کاربر رو یک بار تکرار کنه..

juza66
چهارشنبه 08 مهر 1394, 19:24 عصر
1. ببیند من یک دیتاتیبل بنام تاریخچه بیماران دارم
2.بعدش میام اطلاعاتی از کاربر میگیرم و برای بیمار ثبت میکنم


مثلا:
6 مهر: علی موسوی مراجعه داشته
6 مهر: محمد مهدی مراجعه داشته
----------------------------------------------
7مهر: علی موسوی مراجعه داشته
---------------------------------------------
8مهر: علی موسوی مراجعه داشته
8 مهر محمد مهدی مراجعه داشته


3. خوب حالا من سلکت میزنم میگم از تاریخ 6 مهر تا 8 مهر اطلاعات تاریخچه بیمار را نمایش بده ..

4. حالا میخوام مثلا علی موسوی که مثلا 3 بار اومده موقعی که کوئری سلکت رو میزنم فقط آخرین حضورش رو نمایش بده..


کوئری سلکت از این تاریخ تا این تاریخ و فقط نمایش اطلاعات آخرین کاربران مابقی نمایش داده نشه

Mahmoud Zaad
چهارشنبه 08 مهر 1394, 20:12 عصر
شما می تونید به جای یه فیلد، از جدول دوم بالاترین مقدار رو سلکت بزنید یعنی فیلدهای مورد نیاز از جدول اصلی رو میارید و یک فیلد که آخرین مراجعه هست رو از جدول تاریخچه می گیرید، سلکت از جدول تاریخچه رو به صورت نزولی مرتب می کنید که آخرین مراجعه رو بده (بفرض که جدول اصلی اسمش bimar هست و bimarID همون id جدول bimar هست و کلید خارجیه) :

Select name, lastName, (select TOP 1 date from tarikhche where bimar.id=tarikhche.bimarID order by tarikhche.id desc) AS akharin FROM bimar

اگه برای یه کاربر می خوای که فقط از همون Top 1 استفاده کن.