powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / JOIN при выборке из трёх таблиц
2 сообщений из 2, страница 1 из 1
JOIN при выборке из трёх таблиц
    #32747283
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я использую базу для обработки форм, состоящих из произвольного количества селекторов, групп чекбоксов и инпутов и задал следующую структуру таблиц:
TABLE type_group (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
cat_id INT UNSIGNED NOT NULL, -- это суть идентификатор формы
input_type INT UNSIGNED NOT NULL,
name CHAR(100), -- название группы чекбоксов, селектора или инпута
delimiter TEXT -- разделитель между группами, для компоновки их на странице
);

TABLE type_value (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
group_id INT UNSIGNED NOT NULL,
name CHAR(100) -- название значения для селектора или группы чекбоксов(для инпута не определено)
);

TABLE type_item_values (
value_id INT UNSIGNED NOT NULL,
item_id INT UNSIGNED NOT NULL,
value CHAR(20),
PRIMARY KEY(value_id, item_id));

Проблема в том, что задумывалось, что выборка из базы будет возвращать
для каждого type_value.id соответствующее значение из type_item_values либо NULL, а у меня такая выборка не получается... Мб есть у кого идеи, как её добиться?
...
Рейтинг: 0 / 0
JOIN при выборке из трёх таблиц
    #32747451
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SELECT * FROM
type_value LEFT JOIN type_item_values
ON type_item_values.value_id=type_value.id
WHERE type_item_values.item_id=$item
OR type_item_values.item_id IS NULL

Выдаёт почти то, что нужно, но не совсем...
На пустой базе всё ок, но как только в таблице появляются записи для других item_id -- они исключаются из списка не заданных для этого item_id значений (соответствующие невыбранные (но выбираемые) элементы формы, естественно, пропадают)...
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / JOIN при выборке из трёх таблиц
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]