Вы не можете создавать таблицы в таблицах в MySQL. Но вы можете использовать подход master/slave для таблицы grid. То, что будет выглядеть следующим образом:
SQL Fiddle
MySQL Setup 5.5.32 Схема:
CREATE TABLE grid
(`id` int, `name` varchar(12), `master_id` int)
;
INSERT INTO grid
(`id`, `name`, `master_id`)
VALUES
(1, 'Super_Grid_A', 0),
(2, 'Grid 1', 1),
(3, 'Grid 2', 1),
(4, 'Grid 3', 1)
;
CREATE TABLE account
(`id` int, `name` varchar(9))
;
INSERT INTO account
(`id`, `name`)
VALUES
(1, 'account A'),
(2, 'account B'),
(3, 'account C'),
(4, 'account D')
;
CREATE TABLE grid_account
(`grid_id` int, `acct_id` int)
;
INSERT INTO grid_account
(`grid_id`, `acct_id`)
VALUES
(2, 1),
(2, 2),
(2, 3),
(3, 2),
(3, 3),
(3, 4)
;
Запрос 1:
select master.name master_grid, slave.name slave_grid, acct.name account
from grid master
inner join grid slave on master.id = slave.master_id
inner join grid_account grid_acct on slave.id = grid_acct.grid_id
inner join account acct on grid_acct.acct_id = acct.id
where master.master_id = 0
Results:
| MASTER_GRID | SLAVE_GRID | ACCOUNT |
|--------------|------------|-----------|
| Super_Grid_A | Grid 1 | account A |
| Super_Grid_A | Grid 1 | account B |
| Super_Grid_A | Grid 1 | account C |
| Super_Grid_A | Grid 2 | account B |
| Super_Grid_A | Grid 2 | account C |
| Super_Grid_A | Grid 2 | account D |
Читайте о реляционных базах данных, как вы можете подключать данные из разных таблиц. В таблице нет такой таблицы, но вы можете использовать идентификаторы для ссылок на разные таблицы. – Shomz
Я не думаю, что вы хотите это сделать, Mysql сломается. Возможно, посмотрите таблицы JOIN – Tasos
Вложенные таблицы не поддерживаются в MySQL, однако они представляют собой концепцию, существующую в [базах данных ORACLE] (http://docs.oracle.com/cd/A97630_01/appdev.920/a96624/05_colls.htm). http://forums.mysql.com/read.php?61,60008,161545#msg-161545 указано, что mySQL не поддерживает их, но многозначные атрибуты. – xQbert