|
|
|
JOIN при выборке из трёх таблиц
|
|||
|---|---|---|---|
|
#18+
Я использую базу для обработки форм, состоящих из произвольного количества селекторов, групп чекбоксов и инпутов и задал следующую структуру таблиц: 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, а у меня такая выборка не получается... Мб есть у кого идеи, как её добиться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2004, 19:25 |
|
||
|
JOIN при выборке из трёх таблиц
|
|||
|---|---|---|---|
|
#18+
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 значений (соответствующие невыбранные (но выбираемые) элементы формы, естественно, пропадают)... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2004, 00:04 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=675&tid=1854710]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 197ms |
| total: | 297ms |

| 0 / 0 |
