Hi all!
Есть запрос:
$quer="SELECT * FROM covex_subj, covex_men, covex_toopen, covex_tests WHERE covex_subj.subj_id=covex_toopen.subj_id and covex_men.id=covex_toopen.men_id and covex_tests.subj_id=covex_subj.subj_id and covex_men.id=\'$men_idi\' ORDER BY covex_subj.subj_id";
Результаты, какие хотелось бы получить: Список предметов и соответствующие им тесты, если есть, или просто предметы без тестов.
По жизни возвращаются только те записи где covex_tests содержит запись, т.е. возвращает список предметов у которых есть тесты, предметы без тестов не возвращаются.
Как это можно победить.
таблицы:
# Table structure for table \'covex_men\'
#информация про пользователей
CREATE TABLE covex_men (
id smallint(4) NOT NULL auto_increment,
passw varchar(7) NOT NULL,
name varchar(50) NOT NULL,
expire date DEFAULT \'0000-00-00\' NOT NULL,
level char(2) DEFAULT \'0\',
email varchar(60) NOT NULL,
PRIMARY KEY (id),
UNIQUE passw (passw),
UNIQUE id (id, passw),
KEY id_2 (id)
);
# Table structure for table \'covex_tests\'
#информация про тесты
CREATE TABLE covex_tests (
id smallint(5) unsigned NOT NULL auto_increment,
subj_id smallint(5) unsigned DEFAULT \'0\' NOT NULL,
file_names char(10) NOT NULL,
PRIMARY KEY (id),
UNIQUE id (id),
UNIQUE file_names (file_names),
KEY id_2 (id)
);
#информация про предметы
CREATE TABLE covex_subj (
subj_id smallint(5) unsigned NOT NULL auto_increment,
subj_name varchar(100) NOT NULL,
PRIMARY KEY (subj_id),
UNIQUE subj_id (subj_id, subj_name),
KEY subj_id_2 (subj_id)
);
# Table structure for table \'covex_toopen\'
#информация что из предметов кому доступно в колонке tests информация о уже пройденных тестах
CREATE TABLE covex_toopen (
id tinyint(4) NOT NULL auto_increment,
men_id tinyint(4) DEFAULT \'0\' NOT NULL,
subj_id tinyint(4) DEFAULT \'0\' NOT NULL,
tests varchar(160) NOT NULL,
PRIMARY KEY (id),
UNIQUE id (id),
KEY id_2 (id)
);