PDA

View Full Version : سوال: انتخاب از پس از بررسی چند فیلد



m-majidi
شنبه 19 اسفند 1391, 09:13 صبح
درود
سوالی دارم در رابطه با select
من درون فیلد هام تاریخ رو ذخیره میکنم. میخوام افرادی انتخاب بشن که:

تاریخشون به تاریخ مد نظر من رسیده باشه
یا
تاریخ گذشته باشه
همچنین فیلدهایی که خالی هستن انتخاب نشن (چون اونا به صورت پیشفرض رو در گروه تاریخ گذشته ها حساب میکنه)

چیزی که من برای انتخاب نوشتم


SELECT * FROM `table` WHERE
`date` <= 'mydate'
or `date1` <= 'mydate'
or `date2` <= 'mydate'
or `date3` <= 'mydate'
or `date4` <= 'mydate'
or `date5` <= 'mydate'
or `date6` <= 'mydate'
or `date7` <= 'mydate'
AND `date`<>''
AND `date1`<>''
AND `date2`<>''
AND `date3`<>''
AND `date4`<>''
AND `date5`<>''
AND `date6`<>''
AND `date7`<>''
ORDER BY `user_id` DESC


ولی درست از اب در نمیاد...!

به جای <> از IS NOT NULL هم استفاده کردم بازم نشد...

ممنون میشم کمک کنید :)

linuxUser
شنبه 19 اسفند 1391, 15:37 عصر
درود دوست عزیز
اگه یه کم بیشتر توضیح بدی بهتر می شه راهنمایی کرد من ساختار جدول و چند تا سطر از جدول به عنوان مثال بذاری و بگی دقیقا چی خروجی می خوای؟
در عین حال با چیزایی که من متوجه شدم شاید منظورت این کد باشه :
SELECT * FROM `table` WHERE
(`date` <= 'mydate' AND `date` IS NOT NULL)
or (`date1` <= 'mydate' AND `date1` IS NOT NULL)
or (`date2` <= 'mydate' AND `date2` IS NOT NULL)
or (`date3` <= 'mydate' AND `date3` IS NOT NULL)
or (`date4` <= 'mydate' AND `date4` IS NOT NULL)
or (`date5` <= 'mydate' AND `date5` IS NOT NULL)
or (`date6` <= 'mydate' AND `date6` IS NOT NULL)
or (`date7` <= 'mydate' AND `date7` IS NOT NULL)
ORDER BY `user_id` DESC