PDA

View Full Version : سوال: ارتباط بین چند جدول و گروه بندی اطلاعات براساس فیلد خاص



نیلوفر66
پنج شنبه 12 تیر 1393, 14:14 عصر
جدولی با نام دانش آموزان ممتاز وجود دارد که تنها کد دانش آموزی و عکس دانش آموز را داراست
در جدول دانش آموز کد دانش آموز و نام و فامیل و ...
در جدول شعبه های مدرسه کد شعبه نام شعبه و....
در جدول کلاس کد کلاس نام کلاس و...
در جدول دانش آموز-کلاس کد دانش آموز کد کلاس کد شعبه و...
بخاطر اینکه احتمال تاسیس شعبه جدید وجود دارد برای مشاهده دانش آموزان ممتاز نمیتونم از سلکت ایستایی استفاده کنم و باید داینامیک باشه...یعنی می خواهم نام شعبه رو چاپ کنه و دانش آموزان ممتاز آن شعبه به ترتیب کلاس در زیر آن

ساختار جدول ها:
CREATE TABLE `best_student` ( `st_code` int(11) NOT NULL, `best_picture` varchar(150) CHARACTER SET utf8 COLLATE utf8_persian_ci NOT NULL, PRIMARY KEY (`st_code`), KEY `st_code` (`st_code`), KEY `best_picture` (`best_picture`), KEY `st_code_2` (`st_code`)) ENGINE=MyISAM DEFAULT CHARSET=utf16 COLLATE=utf16_persian_ci


CREATE TABLE `class` ( `c_code` int(2) NOT NULL, `c_code1` int(2) NOT NULL, `c_name` varchar(10) COLLATE utf16_persian_ci NOT NULL, `c_base` varchar(6) COLLATE utf16_persian_ci NOT NULL, PRIMARY KEY (`c_code`), UNIQUE KEY `c_name_2` (`c_name`), UNIQUE KEY `c_code` (`c_code`), KEY `c_name` (`c_name`), KEY `c_base` (`c_base`), KEY `c_base_2` (`c_base`), KEY `c_base_3` (`c_base`), KEY `c_code1` (`c_code1`), KEY `c_code1_2` (`c_code1`)) ENGINE=MyISAM DEFAULT CHARSET=utf16 COLLATE=utf16_persian_ci


CREATE TABLE `site` ( `s_code` int(4) NOT NULL, `s_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_persian_ci NOT NULL, `s_address` varchar(200) CHARACTER SET utf8 COLLATE utf8_persian_ci NOT NULL, `s_phone` int(7) NOT NULL, PRIMARY KEY (`s_code`), KEY `s_name` (`s_name`), KEY `s_name_2` (`s_name`), KEY `s_name_3` (`s_name`)) ENGINE=MyISAM DEFAULT CHARSET=utf16 COLLATE=utf16_persian_ci

CREATE TABLE `student` ( `st_code` int(11) NOT NULL, `st_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_persian_ci NOT NULL, `st_family` varchar(50) CHARACTER SET utf8 COLLATE utf8_persian_ci NOT NULL, `st_fathername` int(11) NOT NULL, `st_homephone` int(11) NOT NULL, `st_mobilephone` int(11) NOT NULL, `st_mobilephone2` int(11) NOT NULL, `st_address` varchar(200) COLLATE utf16_persian_ci NOT NULL, PRIMARY KEY (`st_code`)) ENGINE=MyISAM DEFAULT CHARSET=utf16 COLLATE=utf16_persian_ci

CREATE TABLE `studentclass` ( `sc_id` int(11) NOT NULL AUTO_INCREMENT, `st_code` int(11) NOT NULL, `s_code` int(4) NOT NULL, `c_code` int(2) NOT NULL, `t_code` int(11) NOT NULL, PRIMARY KEY (`sc_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_persian_ci