У меня следующий запрос:
select * from isg.tdbFutures f, isg.tdbOption e
where
f.contract = 306121 and
e.underlier = f.entityID
, который будет возвращать это:
entityID lastTradeDate expiration firstTradeDate contract lastTradeDate underlier isPut expiration strike entityID optionMetricsID expirationCycle
----------- ---------------- ------------- ----------------- ----------- ---------------- ------------ -------- ------------- --------- ----------- ------------------ ------------------
311320 3/1/2018 3/1/2018 6/22/2017 306123 12/22/2017 311320 false 12/22/2017 100 368145 0 monthly
311320 3/1/2018 3/1/2018 6/22/2017 306123 12/22/2017 311320 false 12/22/2017 106 368146 0 monthly
311320 3/1/2018 3/1/2018 6/22/2017 306123 12/22/2017 311320 false 12/22/2017 120 368147 0 monthly
Я хочу построить строку для вставки в другую таблицу, обусловленную столбцом isPut.Это моя попытка:
select * from isg.tdbFutures f, isg.tdbOption e
where
f.contract = 306123 and
e.underlier = f.entityID
CASE isPut
WHEN false THEN 'FI_US_M Call'
WHEN true THEN 'FI_US_M Put'
END
Однако я получаю следующую ошибку:
>[Error] Script lines: 45-52 ------------------------
SQL Anywhere Error -131: Syntax error near 'false' on line 6
Msg: 102, Level: 15, State: 0
Line: 0
Таблица, которую я смотрю, чтобы вставить, где category
- строка из моего условного иentityID
- это мое f.contract
значение:
category entityID
----------------- -----------
US Equity 66281
US Fixed Income 66283
AUD 66359