Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
解析字符串并在子查询MySQL的谓词中使用解析后的值_Mysql - Fatal编程技术网

解析字符串并在子查询MySQL的谓词中使用解析后的值

解析字符串并在子查询MySQL的谓词中使用解析后的值,mysql,Mysql,我有一个包含符号属性的表。我想为符号值的某个位置处的特定字母集解析symbol属性,并将它们与从子查询返回的解析值进行比较。以下是我目前的疑问: select * from market_instrument inner join exchange_instrument on market_instrument.id = exchange_instrument.instrument_id inner join Table1 on market_instrument.id = Table1.in

我有一个包含符号属性的表。我想为符号值的某个位置处的特定字母集解析symbol属性,并将它们与从子查询返回的解析值进行比较。以下是我目前的疑问:

select * from market_instrument inner join exchange_instrument on market_instrument.id = exchange_instrument.instrument_id 
inner join Table1 on market_instrument.id = Table1.instrument_id 
left join Table2 on market_instrument.id = Table2.instrument_id
left join `options`on market_instrument.id = `options`.instrument_id 
left join Table3 on market_instrument.id = Table3.instrument_id
where symbol in (select symbol from market_instrument inner join fills on market_instrument.id = fills.instrument_id);
这样做将比较外部查询中的符号属性和内部查询中的符号属性。符号中的值如下所示:

1FU_平台1610

我只想比较该值的一个子集。我可以做一些类似的操作吗?…从市场中选择符号[1:5]中的符号[1:5]\u仪器内部连接在市场上填充\u instrument.id=填充.instrument\u id

使用SQL函数:

select * from market_instrument inner join exchange_instrument on market_instrument.id = exchange_instrument.instrument_id 
inner join Table1 on market_instrument.id = Table1.instrument_id 
left join Table2 on market_instrument.id = Table2.instrument_id
left join `options`on market_instrument.id = `options`.instrument_id 
left join Table3 on market_instrument.id = Table3.instrument_id
where substring(symbol, 1, 5) in (select substring(symbol, 1, 5) from market_instrument inner join fills on market_instrument.id = fills.instrument_id);

从语法上讲,我可以用正则表达式做同样的事情吗?比如正则表达式的符号,模式。。。为了简单起见,我在问题中谈到了位置,但如果我实际试图解析的内容也可以用正则表达式来完成,这会有所帮助。@JeremyFisher请检查。在“选择符号正则表达式”中尝试“…where symbol REGEXP.”从。。。抛出一个错误:我正在使用mysql。我只是想测试它是否能与REGEXP一起工作。错误消息只是您的mysql语法中有一个错误,问题出在中。我也试过了,但没有成功。如果你知道为什么这可能是一个问题,否则我会提出一个单独的问题。您确实回答了我的问题。@JeremyFisher:不,不可能使用REGEXP在列和子查询返回的集之间进行比较。在MySQL中,REGEXP操作符只返回布尔值。