0
Моя цель - представить данные из DOC_sql и MDT_sql в таблице. Невозможно найти решение о том, как эта связь должна быть реализована.Mysql соединяет две таблицы concat после обработки
Целью является поиск документов и представление документов на основе совпадающих тегов.
Входные данные
CALL SearthDocuments('\'Book\',\'Currency\'', 'en_ENG');
Код
DELIMITER //
CREATE PROCEDURE SearthDocuments(IN VAR_TT_names VARCHAR(255), VAR_LANG_prefix CHAR(6))
BEGIN
SET @TT_sql = CONCAT('SELECT TAG_ID FROM TagTranslate WHERE TT_text IN (', VAR_TT_names, ')');
SET @DOC_ID_sql = CONCAT('SELECT DOC_ID FROM DocumentTag WHERE TAG_ID IN (', @TT_sql, ') GROUP BY DOC_ID HAVING COUNT(DOC_ID)');
SET @DOC_sql = CONCAT('SELECT * FROM VIEW_Document WHERE DOC_ID IN (', @DOC_ID_sql, ') AND LANG_prefix = "', VAR_LANG_prefix, '"');
SET @MDT_sql = CONCAT('SELECT DOC_ID, count(*) as TAG_HITS FROM DocumentTag WHERE TAG_ID IN (', @TT_sql, ') GROUP BY DOC_ID HAVING COUNT(DOC_ID)');
-- SET @COM_sql = CONCAT('?')
-- PREPARE COM_stmt FROM @COM_sql;
-- EXECUTE COM_stmt;
-- DEALLOCATE PREPARE COM_stmt;
END
// DELIMITER ;
Обе таблицы имеют идентификатор doc_id
ТАБЛИЦА: DOC_sql
DOC_ID, DT_ID, DT_desc, DT_title, A_name, LANG_prefix
ТАБЛИЦА: MDT_sql
DOC_ID, TAG_HITS
не было бы хорошо, если бы вы могли бы сказать, что таблицы выглядеть – e4c5
Это weired функция, которая создает операторы SQL с 'concat' и пытается выполнить несколько каскадных SQLs на двух столах. Какова структура таблицы, данные и что должно быть результатом? Нижняя линия: какова основная задача для достижения? –