DATABASE

SELECT
o.id as order_id,
t.table_code,
o.created_at,
oi.item_name,
oi.quantity,
oi.price,
g.group_name,
g.color_code
FROM orders o
JOIN tables t ON o.table_id = t.id
JOIN order_items oi ON o.id = oi.order_id
LEFT JOIN tables_groups g
ON o.group_id = g.id
AND o.shop_id = g.shop_id
WHERE o.status = ‘open’
AND o.shop_id = ?
ORDER BY o.created_at ASC

これの
JOIN tables t ON o.table_id = t.id
JOIN order_items oi ON o.id = oi.order_id
LEFT JOIN tables_groups g
ON o.group_id = g.id
AND o.shop_id = g.shop_id
について解説して下さい。

orders(注文)
↓ table_id で結びつく
tables(テーブル情報)

orders(注文)
↓ order_id で結びつく
order_items(注文された商品)

orders(注文)
↓ group_id で結びつく(あれば)
tables_groups(グループ情報)

つまり、
注文 → テーブル情報 → 注文アイテム → グループ情報
という流れでデータを広げています。

① JOIN tables t ON o.table_id = t.id
✔ 何をしている?
注文(orders)に紐づく テーブル番号(table_code)を取得しています。

✔ どうやって?
orders テーブルには table_id が入っています。
tables テーブルには id と table_code が入っています。

orders.table_id = tables.id

これで「注文がどのテーブルから来たか」がわかる。

✔ 結果として取れるデータ
t.table_code(例:A-12)

テーブルの名前や番号

② JOIN order_items oi ON o.id = oi.order_id
✔ 何をしている?
注文に含まれる 商品(アイテム)を全部取得しています。

✔ どうやって?
orders.id(注文ID)と
order_items.order_id(商品が属する注文ID)を結びつける。

✔ 結果として取れるデータ
商品名(item_name)

数量(quantity)

価格(price)

つまり、1つの注文に複数の商品があるので、行が増える。

③ LEFT JOIN tables_groups g ON o.group_id = g.id AND o.shop_id = g.shop_id
✔ 何をしている?
注文が グループ(例:オレンジ組、さくら組)に属している場合だけ
そのグループ名や色を取得します。

✔ なぜ LEFT JOIN?
グループが ない注文もある

その場合でも注文は表示したい
→ LEFT JOIN を使う

✔ 結びつけ条件

o.group_id = g.id
AND
o.shop_id = g.shop_id

shop_id も一致させているのは、
別店舗のグループと混ざらないようにするため。

✔ 結果として取れるデータ
g.group_name(例:オレンジ組)

g.color_code(例:#FF9900)

🎉 最終的にどういう行ができる?
1行にまとまる情報は:

カラム 内容
order_id 注文ID
table_code テーブル番号
created_at 注文時刻
item_name 商品名
quantity 数量
price 価格
group_name グループ名(あれば)
color_code グループ色(あれば)

✔ まとめ(超短縮版)
JOIN tables
 → 注文にテーブル番号を付ける

JOIN order_items
 → 注文に商品一覧を付ける(行が増える)

LEFT JOIN tables_groups
 → 注文にグループ名・色を付ける(あれば)

INSERT INTO orders (id, shop_id, table_id, order_group_id, status, created_at, group_id) VALUES
(165, 1, 2, 168, ‘open’, ‘2026-04-12 08:48:28’, 1),
(166, 1, 2, 169, ‘open’, ‘2026-04-12 08:50:59’, 1),
(167, 1, 2, 170, ‘open’, ‘2026-04-12 15:01:15’, 1),
(168, 1, 2, 171, ‘done’, ‘2026-04-12 15:01:25’, 1),
(169, 1, 2, 172, ‘done’, ‘2026-04-12 15:01:39’, 1),
(170, 1, 2, 173, ‘open’, ‘2026-04-13 08:21:52’, NULL),
(171, 1, 2, 174, ‘open’, ‘2026-04-13 10:52:05’, NULL),
(172, 1, 2, 175, ‘open’, ‘2026-04-13 13:47:59’, NULL),
(173, 1, 2, 176, ‘open’, ‘2026-04-13 16:55:53’, NULL),
(174, 1, 2, 177, ‘open’, ‘2026-04-13 16:59:09’, NULL),
(175, 1, 2, 178, ‘open’, ‘2026-04-13 17:32:08’, NULL),
(176, 1, 2, 179, ‘open’, ‘2026-04-13 17:37:24’, NULL),
(177, 1, 2, 180, ‘open’, ‘2026-04-13 18:08:18’, NULL),
(178, 1, 2, 181, ‘open’, ‘2026-04-14 07:43:20’, NULL),
(179, 1, 2, 182, ‘open’, ‘2026-04-14 07:43:56’, NULL),
(180, 1, 2, 183, ‘open’, ‘2026-04-14 08:51:35’, 1);

目次

— ダンプしたテーブルのインデックス

— テーブルのインデックス orders

ALTER TABLE orders
ADD PRIMARY KEY (id),
ADD KEY shop_id (shop_id),
ADD KEY table_id (table_id),
ADD KEY order_group_id (order_group_id) USING BTREE;

— ダンプしたテーブルの AUTO_INCREMENT

— テーブルの AUTO_INCREMENT orders

ALTER TABLE orders
MODIFY id int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=181;

— ダンプしたテーブルの制約

— テーブルの制約 orders

ALTER TABLE orders
ADD CONSTRAINT fk_orders_order_group_id FOREIGN KEY (order_group_id) REFERENCES order_groups (id),
ADD CONSTRAINT orders_ibfk_1 FOREIGN KEY (shop_id) REFERENCES shops (id),
ADD CONSTRAINT orders_ibfk_2 FOREIGN KEY (table_id) REFERENCES tables (id);
COMMIT;

----------------------------------------------------

INSERT INTO tables_groups (id, shop_id, group_name, status, created_at, color_code) VALUES
(1, 1, ‘オレンジ’, ‘active’, ‘2026-04-12 15:04:56’, ‘#FF0000’);

— ダンプしたテーブルのインデックス

— テーブルのインデックス tables_groups

ALTER TABLE tables_groups
ADD PRIMARY KEY (id),
ADD KEY idx_shop_id (shop_id),
ADD KEY idx_status (status);

— ダンプしたテーブルの AUTO_INCREMENT

— テーブルの AUTO_INCREMENT tables_groups

ALTER TABLE tables_groups
MODIFY id int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
COMMIT;


— テーブルの構造 tables_groups

CREATE TABLE tables_groups (
id int(11) NOT NULL,
shop_id int(11) NOT NULL,
group_name varchar(50) NOT NULL,
status enum(‘active’,’paid’) DEFAULT ‘active’,
created_at datetime DEFAULT current_timestamp(),
color_code varchar(7) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

— テーブルのデータのダンプ tables_groups

INSERT INTO tables_groups (id, shop_id, group_name, status, created_at, color_code) VALUES
(1, 1, ‘りんご1-2-3’, ‘active’, ‘2026-04-12 15:04:56’, ‘#FF0000’);

— ダンプしたテーブルのインデックス

— テーブルのインデックス tables_groups

ALTER TABLE tables_groups
ADD PRIMARY KEY (id),
ADD KEY idx_shop_id (shop_id),
ADD KEY idx_status (status);

— ダンプしたテーブルの AUTO_INCREMENT

— テーブルの AUTO_INCREMENT tables_groups

ALTER TABLE tables_groups
MODIFY id int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
COMMIT;


– テーブルの構造 tables

CREATE TABLE tables (
id int(11) NOT NULL,
shop_id int(11) NOT NULL,
table_code varchar(50) DEFAULT NULL,
status varchar(20) DEFAULT ‘active’,
created_at datetime DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

— テーブルのデータのダンプ tables

INSERT INTO tables (id, shop_id, table_code, status, created_at) VALUES
(1, 1, ‘QWERT-3’, ‘active’, ‘2026-04-07 13:46:28’),
(2, 1, ‘QWERT-33’, ‘active’, ‘2026-04-07 15:08:53’);

— ダンプしたテーブルのインデックス

— テーブルのインデックス tables

ALTER TABLE tables
ADD PRIMARY KEY (id),
ADD KEY shop_id (shop_id);

— ダンプしたテーブルの AUTO_INCREMENT

— テーブルの AUTO_INCREMENT tables

ALTER TABLE tables
MODIFY id int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

— ダンプしたテーブルの制約

— テーブルの制約 tables

ALTER TABLE tables
ADD CONSTRAINT tables_ibfk_1 FOREIGN KEY (shop_id) REFERENCES shops (id);

COMMIT;

– テーブルの構造 order_item_options

CREATE TABLE order_item_options (
id int(11) NOT NULL,
order_item_id int(11) DEFAULT NULL,
option_name varchar(255) DEFAULT NULL,
price int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

— テーブルのデータのダンプ order_item_options

INSERT INTO order_item_options (id, order_item_id, option_name, price) VALUES
(1, 5, ‘冷酒’, NULL),
(2, 5, ‘少しやわらかい’, NULL),
(3, 6, ‘ぬる燗’, NULL),
(4, 6, ‘固め’, 30),
(5, 8, ‘熱燗’, 0),
(6, 8, ‘固め’, 30),
(7, 9, ‘熱燗’, 0),
(8, 9, ‘固め’, 30),
(9, 10, ‘ぬる燗’, NULL),
(10, 10, ‘固め’, 30),
(11, 49, ‘冷酒’, NULL),
(12, 49, ‘少しやわらかい’, NULL);

— ダンプしたテーブルのインデックス

— テーブルのインデックス order_item_options

ALTER TABLE order_item_options
ADD PRIMARY KEY (id),
ADD KEY order_item_id (order_item_id);

— ダンプしたテーブルの AUTO_INCREMENT

— テーブルの AUTO_INCREMENT order_item_options

ALTER TABLE order_item_options
MODIFY id int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=13;

— ダンプしたテーブルの制約

— テーブルの制約 order_item_options

ALTER TABLE order_item_options
ADD CONSTRAINT order_item_options_ibfk_1 FOREIGN KEY (order_item_id) REFERENCES order_items (id);
COMMIT;


– テーブルの構造 order_items

CREATE TABLE order_items (
id int(11) NOT NULL,
order_id int(11) NOT NULL,
item_name varchar(255) DEFAULT NULL,
price int(11) DEFAULT NULL,
quantity int(11) DEFAULT NULL,
created_at datetime DEFAULT current_timestamp(),
is_displayed tinyint(4) DEFAULT 0
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

— テーブルのデータのダンプ order_items

INSERT INTO order_items (id, order_id, item_name, price, quantity, created_at, is_displayed) VALUES
(1, 3, ‘マカロニサラダ’, 550, 1, ‘2026-04-07 13:47:02’, 0),
(2, 4, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-07 15:07:15’, 0),
(3, 5, ‘パリパリサラダ’, 490, 1, ‘2026-04-07 15:08:53’, 0),
(4, 6, ‘からし小なす漬け’, 780, 2, ‘2026-04-07 15:09:13’, 0),
(5, 6, ‘男山 上撰 お銚子(1合)’, 420, 1, ‘2026-04-07 15:09:13’, 0),
(6, 7, ‘男山 上撰 お銚子(1合)’, 450, 1, ‘2026-04-07 15:15:35’, 0),
(7, 8, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-08 10:17:24’, 0),
(8, 9, ‘男山 上撰 お銚子(1合)’, 450, 1, ‘2026-04-08 10:17:50’, 0),
(9, 10, ‘男山 上撰 お銚子(1合)’, 450, 1, ‘2026-04-08 12:14:40’, 0),
(10, 11, ‘男山 上撰 お銚子(1合)’, 450, 1, ‘2026-04-08 15:14:34’, 0),
(11, 12, ‘赤なまこ酢’, 1180, 2, ‘2026-04-08 16:08:54’, 0),
(12, 13, ‘マカロニサラダ’, 550, 1, ‘2026-04-08 16:09:47’, 0),
(13, 13, ‘赤なまこ酢’, 590, 1, ‘2026-04-08 16:09:47’, 0),
(14, 13, ‘新レンコンソース炒め’, 900, 2, ‘2026-04-08 16:09:47’, 0),
(15, 14, ‘ジャスミン茶’, 290, 1, ‘2026-04-08 16:10:50’, 0),
(16, 14, ‘コーラ’, 580, 2, ‘2026-04-08 16:10:50’, 0),
(17, 15, ‘赤なまこ酢’, 590, 1, ‘2026-04-08 16:45:22’, 0),
(18, 16, ‘たらこイカパスタ’, 590, 1, ‘2026-04-08 16:45:46’, 0),
(19, 16, ‘焼きそば’, 590, 1, ‘2026-04-08 16:45:46’, 0),
(20, 17, ‘マカロニサラダ’, 550, 1, ‘2026-04-08 16:51:57’, 0),
(21, 18, ‘赤なまこ酢’, 590, 1, ‘2026-04-08 16:53:52’, 0),
(22, 19, ‘若鳥もも串’, 220, 1, ‘2026-04-08 16:54:10’, 0),
(23, 19, ‘手ごねつくね’, 220, 1, ‘2026-04-08 16:54:10’, 0),
(24, 19, ‘手ごねつくね’, 280, 1, ‘2026-04-08 16:54:10’, 0),
(25, 20, ‘ウーロン茶’, 290, 1, ‘2026-04-08 16:55:09’, 0),
(26, 20, ‘ジャスミン茶’, 290, 1, ‘2026-04-08 16:55:09’, 0),
(27, 20, ‘コーラ’, 290, 1, ‘2026-04-08 16:55:09’, 0),
(28, 20, ‘コーラ’, 290, 1, ‘2026-04-08 16:55:09’, 0),
(29, 20, ‘ジンジャーエール’, 290, 1, ‘2026-04-08 16:55:09’, 0),
(30, 20, ‘ハッケンスカッシュ’, 290, 1, ‘2026-04-08 16:55:09’, 0),
(31, 20, ‘カルピス(ソーダorウオーター)’, 290, 1, ‘2026-04-08 16:55:09’, 0),
(32, 20, ‘三ヶ月みかん(ソーダorウオーター)’, 290, 1, ‘2026-04-08 16:55:09’, 0),
(33, 21, ‘手羽先’, 250, 1, ‘2026-04-08 16:56:16’, 0),
(34, 22, ‘アサヒスーパードライ中瓶’, 1320, 2, ‘2026-04-08 16:57:05’, 0),
(35, 23, ‘バニラアイス’, 350, 1, ‘2026-04-08 17:13:40’, 0),
(36, 24, ‘アサヒスーパードライ中瓶’, 660, 1, ‘2026-04-08 17:14:48’, 0),
(37, 25, ‘おしんこ(白菜)’, 390, 1, ‘2026-04-08 17:15:56’, 0),
(38, 25, ‘はすの芽(梅)’, 390, 1, ‘2026-04-08 17:15:56’, 0),
(39, 26, ‘八鹿笑門’, 580, 1, ‘2026-04-08 17:16:23’, 0),
(40, 27, ‘赤なまこ酢’, 590, 1, ‘2026-04-08 17:17:21’, 0),
(41, 28, ‘赤なまこ酢’, 590, 1, ‘2026-04-08 17:30:46’, 0),
(42, 29, ‘バニラアイス’, 350, 1, ‘2026-04-08 17:33:47’, 0),
(43, 29, ‘チョコアイス’, 350, 1, ‘2026-04-08 17:33:47’, 0),
(44, 30, ‘アサヒスーパードライ中瓶’, 660, 1, ‘2026-04-08 17:36:58’, 0),
(45, 31, ‘赤なまこ酢’, 590, 1, ‘2026-04-08 18:13:36’, 0),
(46, 32, ‘ハイボール(ブラックニッカ)’, 210, 1, ‘2026-04-08 18:16:10’, 0),
(47, 32, ‘コークハイ’, 320, 1, ‘2026-04-08 18:16:10’, 0),
(48, 33, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-09 08:28:47’, 0),
(49, 34, ‘男山 上撰 お銚子(1合)’, 420, 1, ‘2026-04-09 08:28:57’, 0),
(50, 35, ‘赤なまこ酢’, 590, 1, ‘2026-04-09 08:29:38’, 0),
(51, 36, ‘お刺身5点盛り’, 1980, 1, ‘2026-04-09 08:29:49’, 0),
(52, 36, ‘炙り特選サーモン刺’, 790, 1, ‘2026-04-09 08:29:49’, 0),
(53, 37, ‘カニみそ和え’, 600, 1, ‘2026-04-09 08:59:11’, 0),
(54, 38, ‘お刺身3点盛り’, 1480, 1, ‘2026-04-09 09:21:46’, 0),
(55, 39, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-09 09:51:00’, 0),
(56, 40, ‘マカロニサラダ’, 550, 1, ‘2026-04-09 09:51:15’, 0),
(57, 41, ‘赤なまこ酢’, 590, 1, ‘2026-04-09 09:51:34’, 0),
(58, 42, ‘カニみそ和え’, 600, 1, ‘2026-04-09 09:51:50’, 0),
(59, 42, ‘漬けまぐろ’, 500, 1, ‘2026-04-09 09:51:50’, 0),
(60, 43, ‘バニラアイス’, 350, 1, ‘2026-04-09 09:52:17’, 0),
(61, 44, ‘生ビール グラス’, 350, 1, ‘2026-04-09 09:52:34’, 0),
(62, 45, ‘おしんこ(白菜)’, 390, 1, ‘2026-04-09 09:53:36’, 0),
(63, 45, ‘はすの芽(梅)’, 390, 1, ‘2026-04-09 09:53:36’, 0),
(64, 46, ‘マカロニサラダ’, 550, 1, ‘2026-04-09 09:55:22’, 0),
(65, 46, ‘赤なまこ酢’, 590, 1, ‘2026-04-09 09:55:22’, 0),
(66, 47, ‘焼きそば’, 590, 1, ‘2026-04-09 09:55:30’, 0),
(67, 48, ‘マカロニサラダ’, 550, 1, ‘2026-04-09 10:19:45’, 0),
(68, 49, ‘マカロニサラダ’, 550, 1, ‘2026-04-09 10:21:02’, 0),
(69, 50, ‘赤なまこ酢’, 590, 1, ‘2026-04-09 10:27:13’, 0),
(70, 51, ‘マカロニサラダ’, 550, 1, ‘2026-04-09 10:31:57’, 0),
(71, 52, ‘赤なまこ酢’, 590, 1, ‘2026-04-09 10:33:55’, 0),
(72, 53, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-09 10:38:06’, 0),
(73, 54, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-09 10:40:27’, 0),
(74, 55, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-09 10:46:06’, 0),
(75, 56, ‘赤なまこ酢’, 590, 1, ‘2026-04-09 10:51:25’, 0),
(76, 57, ‘マカロニサラダ’, 550, 1, ‘2026-04-09 10:51:47’, 0),
(77, 58, ‘赤なまこ酢’, 590, 1, ‘2026-04-09 10:51:51’, 0),
(78, 59, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-09 10:51:57’, 0),
(79, 60, ‘マカロニサラダ’, 550, 1, ‘2026-04-09 10:58:14’, 0),
(80, 61, ‘赤なまこ酢’, 590, 1, ‘2026-04-09 10:58:36’, 0),
(81, 62, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-09 10:58:43’, 0),
(82, 63, ‘マカロニサラダ’, 550, 1, ‘2026-04-09 10:59:06’, 0),
(83, 64, ‘赤なまこ酢’, 590, 1, ‘2026-04-09 10:59:11’, 0),
(84, 65, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-09 10:59:18’, 0),
(85, 66, ‘お刺身3点盛り’, 1480, 1, ‘2026-04-09 10:59:48’, 0),
(86, 67, ‘赤なまこ酢’, 590, 1, ‘2026-04-09 10:59:53’, 0),
(87, 68, ‘お刺身5点盛り’, 1980, 1, ‘2026-04-09 10:59:59’, 0),
(88, 69, ‘いか納豆’, 490, 1, ‘2026-04-09 11:00:08’, 0),
(89, 70, ‘特選青森サーモン刺’, 690, 1, ‘2026-04-09 11:00:14’, 0),
(90, 71, ‘炙り特選サーモン刺’, 790, 1, ‘2026-04-09 11:00:22’, 0),
(91, 72, ‘本しめさば刺’, 590, 1, ‘2026-04-09 11:00:30’, 0),
(92, 73, ‘特選本まぐろ刺’, 790, 1, ‘2026-04-09 11:00:38’, 0),
(93, 74, ‘マカロニサラダ’, 550, 1, ‘2026-04-09 11:00:43’, 0),
(94, 75, ‘赤なまこ酢’, 590, 1, ‘2026-04-09 11:00:48’, 0),
(95, 76, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-09 11:00:53’, 0),
(96, 77, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-09 11:02:25’, 0),
(97, 78, ‘マカロニサラダ’, 550, 1, ‘2026-04-09 11:02:39’, 0),
(98, 79, ‘赤なまこ酢’, 590, 1, ‘2026-04-09 11:02:44’, 0),
(99, 80, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-09 11:02:49’, 0),
(100, 81, ‘赤なまこ酢’, 590, 1, ‘2026-04-09 13:05:36’, 0),
(101, 82, ‘赤なまこ酢’, 590, 1, ‘2026-04-09 13:06:45’, 0),
(102, 83, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-09 13:06:50’, 0),
(103, 84, ‘マカロニサラダ’, 550, 1, ‘2026-04-09 13:07:06’, 0),
(104, 85, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-09 13:07:12’, 0),
(105, 86, ‘マカロニサラダ’, 550, 1, ‘2026-04-09 13:08:12’, 0),
(106, 87, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-09 13:38:34’, 0),
(107, 88, ‘マカロニサラダ’, 550, 1, ‘2026-04-09 13:38:39’, 0),
(108, 89, ‘赤なまこ酢’, 590, 1, ‘2026-04-09 13:38:43’, 0),
(109, 90, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-09 13:47:51’, 0),
(110, 91, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-09 13:48:13’, 0),
(111, 92, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-09 13:49:24’, 0),
(112, 93, ‘マカロニサラダ’, 550, 1, ‘2026-04-09 14:03:17’, 0),
(113, 94, ‘赤なまこ酢’, 590, 1, ‘2026-04-09 14:03:25’, 0),
(114, 95, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-09 14:03:30’, 0),
(115, 96, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-09 14:11:30’, 0),
(116, 97, ‘マカロニサラダ’, 550, 1, ‘2026-04-09 14:11:35’, 0),
(117, 98, ‘赤なまこ酢’, 590, 1, ‘2026-04-09 14:11:39’, 0),
(118, 99, ‘マカロニサラダ’, 550, 1, ‘2026-04-09 14:12:01’, 0),
(119, 100, ‘赤なまこ酢’, 590, 1, ‘2026-04-09 14:12:07’, 0),
(120, 101, ‘赤なまこ酢’, 590, 1, ‘2026-04-09 14:16:12’, 0),
(121, 102, ‘マカロニサラダ’, 550, 1, ‘2026-04-09 14:16:19’, 0),
(122, 103, ‘マカロニサラダ’, 550, 1, ‘2026-04-09 14:16:55’, 0),
(123, 104, ‘赤なまこ酢’, 590, 1, ‘2026-04-09 14:17:01’, 0),
(124, 105, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-09 14:17:08’, 0),
(125, 106, ‘マカロニサラダ’, 550, 1, ‘2026-04-09 14:17:15’, 0),
(126, 107, ‘赤なまこ酢’, 590, 1, ‘2026-04-09 14:17:23’, 0),
(127, 108, ‘マカロニサラダ’, 550, 1, ‘2026-04-09 14:17:50’, 0),
(128, 109, ‘赤なまこ酢’, 590, 1, ‘2026-04-09 14:18:05’, 0),
(129, 110, ‘マカロニサラダ’, 550, 1, ‘2026-04-09 14:18:13’, 0),
(130, 111, ‘赤なまこ酢’, 590, 1, ‘2026-04-09 14:18:17’, 0),
(131, 112, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-09 14:18:23’, 0),
(132, 113, ‘マカロニサラダ’, 550, 1, ‘2026-04-09 14:19:55’, 0),
(133, 114, ‘赤なまこ酢’, 590, 1, ‘2026-04-09 14:20:00’, 0),
(134, 115, ‘マカロニサラダ’, 550, 1, ‘2026-04-09 14:20:35’, 0),
(135, 116, ‘赤なまこ酢’, 590, 1, ‘2026-04-09 14:20:55’, 0),
(136, 117, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-09 14:21:01’, 0),
(137, 118, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-09 15:29:47’, 0),
(138, 119, ‘マカロニサラダ’, 550, 1, ‘2026-04-09 15:30:18’, 0),
(139, 119, ‘赤なまこ酢’, 590, 1, ‘2026-04-09 15:30:18’, 0),
(140, 120, ‘マカロニサラダ’, 550, 1, ‘2026-04-09 15:30:23’, 0),
(141, 121, ‘マカロニサラダ’, 550, 1, ‘2026-04-09 15:30:52’, 0),
(142, 122, ‘赤なまこ酢’, 590, 1, ‘2026-04-09 15:30:57’, 0),
(143, 123, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-09 15:31:04’, 0),
(144, 124, ‘マカロニサラダ’, 550, 1, ‘2026-04-09 15:31:19’, 0),
(145, 125, ‘赤なまこ酢’, 590, 1, ‘2026-04-09 15:31:24’, 0),
(146, 126, ‘赤なまこ酢’, 590, 1, ‘2026-04-09 15:33:29’, 0),
(147, 127, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-09 15:33:34’, 0),
(148, 128, ‘マカロニサラダ’, 550, 1, ‘2026-04-09 15:33:41’, 0),
(149, 129, ‘マカロニサラダ’, 550, 1, ‘2026-04-09 15:34:02’, 0),
(150, 130, ‘赤なまこ酢’, 590, 1, ‘2026-04-09 15:34:08’, 0),
(151, 131, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-09 15:34:12’, 0),
(152, 132, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-09 15:35:04’, 0),
(153, 133, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-09 15:35:47’, 0),
(154, 134, ‘赤なまこ酢’, 590, 1, ‘2026-04-09 15:35:54’, 0),
(155, 135, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-09 15:36:52’, 0),
(156, 136, ‘赤なまこ酢’, 590, 1, ‘2026-04-09 15:37:35’, 0),
(157, 137, ‘八鹿笑門’, 580, 1, ‘2026-04-09 16:03:48’, 0),
(158, 138, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-09 16:03:54’, 0),
(159, 139, ‘お刺身3点盛り’, 1480, 1, ‘2026-04-09 16:04:01’, 0),
(160, 140, ‘マカロニサラダ’, 550, 1, ‘2026-04-09 17:04:35’, 0),
(161, 141, ‘赤なまこ酢’, 590, 1, ‘2026-04-09 17:04:41’, 0),
(162, 142, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-09 17:04:49’, 0),
(163, 143, ‘生ビール グラス’, 350, 1, ‘2026-04-10 06:29:37’, 0),
(164, 144, ‘マカロニサラダ’, 550, 1, ‘2026-04-10 10:09:49’, 0),
(165, 145, ‘赤なまこ酢’, 590, 1, ‘2026-04-10 10:10:37’, 0),
(166, 146, ‘お刺身3点盛り’, 1480, 1, ‘2026-04-10 10:10:47’, 0),
(167, 146, ‘とりの唐揚げダブル6個’, 720, 1, ‘2026-04-10 10:10:47’, 0),
(168, 147, ‘若鳥もも串’, 220, 1, ‘2026-04-10 12:10:20’, 0),
(169, 148, ‘手羽先’, 250, 1, ‘2026-04-10 12:10:26’, 0),
(170, 149, ‘マカロニサラダ’, 550, 1, ‘2026-04-10 12:12:16’, 0),
(171, 150, ‘赤なまこ酢’, 590, 1, ‘2026-04-10 14:49:02’, 0),
(172, 151, ‘お刺身3点盛り’, 1480, 1, ‘2026-04-10 14:49:09’, 0),
(173, 152, ‘マカロニサラダ’, 550, 1, ‘2026-04-10 17:39:21’, 0),
(174, 153, ‘赤なまこ酢’, 590, 1, ‘2026-04-10 17:39:26’, 0),
(175, 154, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-10 17:39:31’, 0),
(176, 155, ‘マカロニサラダ’, 550, 1, ‘2026-04-10 17:49:59’, 0),
(177, 155, ‘赤なまこ酢’, 590, 1, ‘2026-04-10 17:49:59’, 0),
(178, 155, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-10 17:49:59’, 0),
(179, 155, ‘お刺身3点盛り’, 1480, 1, ‘2026-04-10 17:49:59’, 0),
(180, 155, ‘特選いか刺’, 490, 1, ‘2026-04-10 17:49:59’, 0),
(181, 155, ‘ポテトサラダ’, 420, 1, ‘2026-04-10 17:49:59’, 0),
(182, 156, ‘赤なまこ酢’, 1180, 2, ‘2026-04-10 18:27:59’, 0),
(183, 157, ‘若鳥もも串’, 440, 2, ‘2026-04-10 18:28:24’, 0),
(184, 158, ‘はすの芽(わさび)’, 780, 2, ‘2026-04-10 18:29:22’, 0),
(185, 158, ‘きゅうり漬け’, 780, 2, ‘2026-04-10 18:29:22’, 0),
(186, 159, ‘マカロニサラダ’, 550, 1, ‘2026-04-10 18:53:31’, 0),
(187, 159, ‘赤なまこ酢’, 590, 1, ‘2026-04-10 18:53:31’, 0),
(188, 159, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-10 18:53:31’, 0),
(189, 159, ‘お刺身3点盛り’, 1480, 1, ‘2026-04-10 18:53:31’, 0),
(190, 159, ‘お刺身5点盛り’, 1980, 1, ‘2026-04-10 18:53:31’, 0),
(191, 160, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-10 19:25:28’, 0),
(192, 161, ‘赤なまこ酢’, 590, 1, ‘2026-04-10 19:25:58’, 0),
(193, 162, ‘マカロニサラダ’, 550, 1, ‘2026-04-10 21:34:08’, 0),
(194, 163, ‘赤なまこ酢’, 590, 1, ‘2026-04-11 09:14:25’, 0),
(195, 164, ‘マカロニサラダ’, 550, 1, ‘2026-04-11 21:28:43’, 0),
(196, 164, ‘赤なまこ酢’, 590, 1, ‘2026-04-11 21:28:43’, 0),
(197, 165, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-12 08:48:28’, 0),
(198, 165, ‘赤なまこ酢’, 590, 1, ‘2026-04-12 08:48:28’, 0),
(199, 166, ‘お刺身3点盛り’, 1480, 1, ‘2026-04-12 08:50:59’, 0),
(200, 167, ‘マカロニサラダ’, 550, 1, ‘2026-04-12 15:01:15’, 0),
(201, 168, ‘赤なまこ酢’, 590, 1, ‘2026-04-12 15:01:25’, 0),
(202, 169, ‘赤なまこ酢’, 590, 1, ‘2026-04-12 15:01:39’, 0),
(203, 169, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-12 15:01:39’, 0),
(204, 170, ‘お刺身5点盛り’, 1980, 1, ‘2026-04-13 08:21:52’, 0),
(205, 170, ‘特選いか刺’, 490, 1, ‘2026-04-13 08:21:52’, 0),
(206, 171, ‘赤なまこ酢’, 590, 1, ‘2026-04-13 10:52:05’, 0),
(207, 172, ‘お刺身5点盛り’, 1980, 1, ‘2026-04-13 13:47:59’, 0),
(208, 172, ‘お刺身5点盛り’, 1980, 1, ‘2026-04-13 13:47:59’, 0),
(209, 173, ‘マカロニサラダ’, 550, 1, ‘2026-04-13 16:55:53’, 0),
(210, 174, ‘赤なまこ酢’, 590, 1, ‘2026-04-13 16:59:09’, 0),
(211, 175, ‘マカロニサラダ’, 550, 1, ‘2026-04-13 17:32:08’, 0),
(212, 176, ‘アサヒスーパードライ中瓶’, 660, 1, ‘2026-04-13 17:37:24’, 0),
(213, 177, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-13 18:08:18’, 0),
(214, 178, ‘マカロニサラダ’, 550, 1, ‘2026-04-14 07:43:20’, 0),
(215, 179, ‘新レンコンソース炒め’, 450, 1, ‘2026-04-14 07:43:56’, 0),
(216, 180, ‘いか納豆’, 490, 1, ‘2026-04-14 08:51:35’, 0);

— ダンプしたテーブルのインデックス

— テーブルのインデックス order_items

ALTER TABLE order_items
ADD PRIMARY KEY (id),
ADD KEY order_id (order_id);

— ダンプしたテーブルの AUTO_INCREMENT

— テーブルの AUTO_INCREMENT order_items

ALTER TABLE order_items
MODIFY id int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=217;

— ダンプしたテーブルの制約

— テーブルの制約 order_items

ALTER TABLE order_items
ADD CONSTRAINT order_items_ibfk_1 FOREIGN KEY (order_id) REFERENCES orders (id);

COMMIT;

— テーブルの構造 groups

CREATE TABLE groups (
id int(11) NOT NULL,
shop_id int(11) NOT NULL,
group_name varchar(50) NOT NULL,
color_code varchar(7) NOT NULL,
status enum(‘active’,’available’) DEFAULT ‘active’,
created_at datetime DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

— テーブルのデータのダンプ groups

INSERT INTO groups (id, shop_id, group_name, color_code, status, created_at) VALUES
(1, 1, ‘りんご’, ‘#FF4D4D’, ‘available’, ‘2026-04-14 08:09:22’),
(2, 1, ‘そら’, ‘#4DA6FF’, ‘available’, ‘2026-04-14 08:09:22’),
(3, 1, ‘メロン’, ‘#66CC66’, ‘available’, ‘2026-04-14 08:09:22’),
(4, 1, ‘みかん’, ‘#FFA64D’, ‘available’, ‘2026-04-14 08:09:22’),
(5, 1, ‘さくら’, ‘#FF99CC’, ‘available’, ‘2026-04-14 08:09:22’),
(6, 1, ‘ぶどう’, ‘#9966CC’, ‘available’, ‘2026-04-14 08:09:22’),
(7, 1, ‘トマト’, ‘#FF3333’, ‘available’, ‘2026-04-14 08:09:22’),
(8, 1, ‘うみ’, ‘#3399FF’, ‘available’, ‘2026-04-14 08:09:22’),
(9, 1, ‘もり’, ‘#339966’, ‘available’, ‘2026-04-14 08:09:22’),
(10, 1, ‘紅葉’, ‘#FF6600’, ‘available’, ‘2026-04-14 08:09:22’),
(11, 1, ‘もも’, ‘#FFB3CC’, ‘available’, ‘2026-04-14 08:09:22’),
(12, 1, ‘スミレ’, ‘#9933CC’, ‘available’, ‘2026-04-14 08:09:22’),
(13, 1, ‘いちご’, ‘#FF6666’, ‘available’, ‘2026-04-14 08:09:22’),
(14, 1, ‘晴天’, ‘#66B2FF’, ‘available’, ‘2026-04-14 08:09:22’),
(15, 1, ‘レタス’, ‘#66CC99’, ‘available’, ‘2026-04-14 08:09:22’);

— ダンプしたテーブルのインデックス

— テーブルのインデックス groups

ALTER TABLE groups
ADD PRIMARY KEY (id),
ADD KEY idx_shop_id (shop_id),
ADD KEY idx_status (status);

— ダンプしたテーブルの AUTO_INCREMENT

— テーブルの AUTO_INCREMENT groups

ALTER TABLE groups
MODIFY id int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=16;
COMMIT;


— データベース: yukijirou_i001


— テーブルの構造 item_option_groups

CREATE TABLE item_option_groups (
id int(11) NOT NULL,
item_id int(11) DEFAULT NULL,
group_id int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

— テーブルのデータのダンプ item_option_groups

INSERT INTO item_option_groups (id, item_id, group_id) VALUES
(1, 13, 1),
(2, 13, 2);

— ダンプしたテーブルのインデックス

— テーブルのインデックス item_option_groups

ALTER TABLE item_option_groups
ADD PRIMARY KEY (id),
ADD KEY item_id (item_id),
ADD KEY group_id (group_id);

— ダンプしたテーブルの AUTO_INCREMENT

— テーブルの AUTO_INCREMENT item_option_groups

ALTER TABLE item_option_groups
MODIFY id int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

— ダンプしたテーブルの制約

— テーブルの制約 item_option_groups

ALTER TABLE item_option_groups
ADD CONSTRAINT item_option_groups_ibfk_1 FOREIGN KEY (item_id) REFERENCES items (id),
ADD CONSTRAINT item_option_groups_ibfk_2 FOREIGN KEY (group_id) REFERENCES option_groups (id);
COMMIT;


— テーブルの構造 item_option_groups

CREATE TABLE item_option_groups (
id int(11) NOT NULL,
item_id int(11) DEFAULT NULL,
group_id int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

— テーブルのデータのダンプ item_option_groups

INSERT INTO item_option_groups (id, item_id, group_id) VALUES
(1, 13, 1),
(2, 13, 2);

— ダンプしたテーブルのインデックス

— テーブルのインデックス item_option_groups

ALTER TABLE item_option_groups
ADD PRIMARY KEY (id),
ADD KEY item_id (item_id),
ADD KEY group_id (group_id);

— ダンプしたテーブルの AUTO_INCREMENT

— テーブルの AUTO_INCREMENT item_option_groups

ALTER TABLE item_option_groups
MODIFY id int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;



— テーブルの構造 options

CREATE TABLE options (
id int(11) NOT NULL,
group_id int(11) DEFAULT NULL,
name varchar(255) DEFAULT NULL,
price int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

— テーブルのデータのダンプ options

INSERT INTO options (id, group_id, name, price) VALUES
(1, 1, ‘熱燗’, 0),
(2, 1, ‘ぬる燗’, NULL),
(3, 1, ‘冷酒’, NULL),
(4, 2, ‘やわらかい’, NULL),
(5, 2, ‘少しやわらかい’, NULL),
(6, 2, ‘普通’, NULL),
(7, 2, ‘やや硬め’, NULL),
(8, 2, ‘固め’, 30);

— ダンプしたテーブルのインデックス

— テーブルのインデックス options

ALTER TABLE options
ADD PRIMARY KEY (id),

ADD KEY group_id (group_id);

– テーブルの構造 option_groups

CREATE TABLE option_groups (
id int(11) NOT NULL,
name varchar(255) DEFAULT NULL,
required tinyint(4) DEFAULT 0
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

— テーブルのデータのダンプ option_groups

INSERT INTO option_groups (id, name, required) VALUES
(1, ‘温めますか?’, 1),
(2, ‘麺の固さは?’, 0);

— ダンプしたテーブルのインデックス

— テーブルのインデックス option_groups

ALTER TABLE option_groups
ADD PRIMARY KEY (id);

— ダンプしたテーブルの AUTO_INCREMENT

— テーブルの AUTO_INCREMENT option_groups

ALTER TABLE option_groups
MODIFY id int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
COMMIT;

CREATE TABLE order_item_options (
id int(11) NOT NULL,
order_item_id int(11) DEFAULT NULL,
option_name varchar(255) DEFAULT NULL,
price int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

— テーブルのデータのダンプ order_item_options

INSERT INTO order_item_options (id, order_item_id, option_name, price) VALUES
(1, 5, ‘冷酒’, NULL),
(2, 5, ‘少しやわらかい’, NULL),
(3, 6, ‘ぬる燗’, NULL),
(4, 6, ‘固め’, 30),
(5, 8, ‘熱燗’, 0),
(6, 8, ‘固め’, 30),
(7, 9, ‘熱燗’, 0),
(8, 9, ‘固め’, 30),
(9, 10, ‘ぬる燗’, NULL),
(10, 10, ‘固め’, 30),
(11, 49, ‘冷酒’, NULL),
(12, 49, ‘少しやわらかい’, NULL);

— ダンプしたテーブルのインデックス

— テーブルのインデックス order_item_options

ALTER TABLE order_item_options
ADD PRIMARY KEY (id),
ADD KEY order_item_id (order_item_id);

— ダンプしたテーブルの AUTO_INCREMENT

— テーブルの AUTO_INCREMENT order_item_options

ALTER TABLE order_item_options
MODIFY id int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=13;

これがテーブル構造です。

タイトルとURLをコピーしました