PDA

View Full Version : صرف نظر کردن از یک فیلد در دستور select



abbas3zaar
جمعه 07 خرداد 1395, 00:26 صبح
سلام. یک جدول داریم و وقتی ازش با دستور زیر سلکت میکنم همه رکورد ها رو میاره:


SELECT * FROM tbl_lessons

فرض کنیم ما 5 تا رکورد داریم:

رکورد شماره 1
رکورد شماره 2
رکورد شماره 3
رکورد شماره 4
رکورد شماره 5


من میخوا همه رکورد ها نمایش داده بشه بجز رکورد شماره 1

چه راهی داریم برای اینکار؟

saeedvir
جمعه 07 خرداد 1395, 06:08 صبح
شما توی طراحی جدول تون فیلد های خاصی باید داشته باشید ، مثلا ستون active که مثلا اگه برای رکورد شماره 1 ، صفر بود اونو نشون نمیدید
select * from tbl_lessons where is_active=1

tux-world
جمعه 07 خرداد 1395, 16:37 عصر
شما توی طراحی جدول تون فیلد های خاصی باید داشته باشید ، مثلا ستون active که مثلا اگه برای رکورد شماره 1 ، صفر بود اونو نشون نمیدید
select * from tbl_lessons where is_active=1

بلی دوستمون حرف قشنگی زدن. شما برای اینکار راههای زیادی دارید و میتونید ستون هایی رو excludeکنید ولی توجه کنید حجم کد و درکش شاید یه کم سخت باشه. مثلا:


SET @sql = CONCAT('SELECT ', (SELECT REPLACE(GROUP_CONCAT(COLUMN_NAME), '<columns_to_omit>,', '') FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '<table>' AND TABLE_SCHEMA = '<database>'), ' FROM <table>');

PREPARE stmt1 FROM @sql;
EXECUTE stmt1;

که اینجا باید table و database و columns_to_omit رو باید عوض کنید