SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 10.02.2013 00:14:39

etsetera
Участник
Зарегистрирован: 09.02.2013
Сообщений: 3

Помогите,пожалуйста,объединить таблицы

Здравствуйте! Не могу правильно объединить таблицы, хотя,кажется ответ на поверхности:-(
Есть четыре таблицы:

CREATE TABLE user_folders (
    id int(11) NOT NULL auto_increment,
    user_id int(11) NOT NULL,
    folder_path varchar(256) NOT NULL,
    project_n varchar(256) NOT NULL,
    PRIMARY KEY (id),
    FOREIGN KEY (user_id) REFERENCES users(id)

CREATE TABLE user_files (
    id int(11) NOT NULL auto_increment,
    CN_CODE_OF_DOCUMENTS varchar(200),
    CN_VERSION varchar(20),
    TDM_DESCRIPTION varchar(255),
    project_id int(11) NOT NULL,
    CN_DATA_POSTUPL varchar(50),
    STATUS varchar(55)
    PRIMARY KEY (id),
    FOREIGN KEY (project_id) REFERENCES user_folders(id)

CREATE TABLE user_files_remarks (
    id int(11) NOT NULL auto_increment,
    doc_id int(11) NOT NULL,
    CN_REMARK varchar(20000),
    CN_DATE varchar(50),
    CN_STATE varchar(20),
    PRIMARY KEY (id),
    FOREIGN KEY (doc_id) REFERENCES user_files(id)

CREATE TABLE remark_answer (
    id int(11) NOT NULL auto_increment,
    remark_id int(11) NOT NULL,
    CN_REMARK varchar(20000),
    registered tinyint(2) default 0,
    timestamp int(10),
    PRIMARY KEY (id),
    FOREIGN KEY (remark_id) REFERENCES user_files_remarks(id)

Запрос должен выдавать все незарегистрированные ответы к замечаниям (remark_answer у которых registered=0), и соответственно подставлять недостающие поля по значениям из других таблиц.


Вот то, что есть:
    SELECT     user_folders.project_n as CN_PROJECT,
            user_files.CN_CODE_OF_DOCUMENTS as CN_CODE_OF_DOCUMENTS,
            user_files.CN_VERSION as CN_VERSION,
            user_files_remarks.CN_REMARK as CN_REMARK,
            remark_answer.CN_REMARK as CN_ANSWER
    FROM remark_answer,user_folders,user_files,user_files_remarks
    WHERE remark_answer.registered=0 AND remark_answer.remark_id=user_files_remarks.id AND user_files_remarks.doc_id=user_files.id AND user_files.project_id=user_folders.id

Но сей запрос срабатывает неправильно:выдает 0 записей.

Неактивен

 

#2 10.02.2013 01:16:21

evgeny
Гуру
Зарегистрирован: 04.05.2009
Сообщений: 335

Re: Помогите,пожалуйста,объединить таблицы

Скорее всего в какой то таблице,  не хватает записей, и изо этого, общая связь обрывается.
Проверьте сначала запрос только с двумя таблицами, потом присоедините еще одну и так далее ...

Неактивен

 

#3 10.02.2013 01:34:17

etsetera
Участник
Зарегистрирован: 09.02.2013
Сообщений: 3

Re: Помогите,пожалуйста,объединить таблицы

пробую...

Неактивен

 

#4 16.02.2013 20:21:01

etsetera
Участник
Зарегистрирован: 09.02.2013
Сообщений: 3

Re: Помогите,пожалуйста,объединить таблицы

Ошибка была в данных. Евгениий, Вы гений!)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson