INSERT INTO order_time( link, time )
SELECT link, CAST
(
(
(
SELECT FIRST (t.time AS dtime)
FROM delivery_time t, quantity q
WHERE t.link = q.link
) -
(
SELECT FIRST (orderTime)
FROM delivery_time t, menu m, quantity q
WHERE t.link = q.link
AND t.menuId = m.menuId
)
) AS time( 0 )
)
FROM quantity where 1
エラーメッセージが表示されます。
数量は(リンク、数量)で構成されます。リンクはユニークでint
order_time:(link、time); リンクは一意でintであり、時間はデータ型時間です
delivery_time:(link、menuId、time); menuId(int)の場合、異なる時間(データ型時間)があり、menuIdのある異なる時間のセットの場合、リンクがあります。したがって、menuIdと時間の組み合わせは一意です。
menuId time link
1 12:00:00 1
1 12:10:00 1
1 14:00:00 2
1 14:10:00 2
1 14:20:00 2
2 12:00:00 3
2 12:10:00 3
2 12:20:00 3
2 14:00:00 4
2 14:10:00 4
2 15:00:00 5
&menu:(menuId、orderTime); menuIdは一意であり、orderTimeはデータ型時間です。
私の必要性は次のとおりです。リンクが一意で数量から取得されるテーブルorder_time(link、time)を作成します。ここでの時間は、delivery_timeテーブルのようにmenuIdに対応するメニューテーブルからのdelivery_timeとorderTimeのそのリンクに対応する時間の最初のインスタンスの差です。
ERROR:MySQL said: Documentation
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(t.time AS dtime)
FROM delivery_time t, quantity q
WHERE t.link = q.link' at line 6