有没有可能把我分开的绳子的一部分连接起来?
我试了些东西:
SELECT param.par_name,
PARPAT.pp_pattern,
KOM.kom_name
FROM inv.inv_parpat PARPAT
INNER JOIN inv.inv_param PARAM
ON PARPAT.pp_par_id = PARAM.par_id
INNER JOIN inv.inv_komponente KOM
ON KOM.kom_id = (SELECT Substr(PARPAT.pp_pattern,
Instr(PARPAT.pp_pattern, ':') + 1
)
FROM inv.inv_parpat)
WHERE PARPAT.pp_pattern LIKE '%ATA%';
这份声明说:
单行子查询返回多行
最佳答案
您需要基于子字符串列将其加入到PARPAT中。如果与子查询联接,则子查询应仅返回一个值(与max()或min()函数类似)。否则,可以将IN子句与子查询一起使用。但请记住,在中使用时会考虑性能问题。对于您的案例,请尝试以下查询:
SELECT param.PAR_NAME,
PARPAT.PP_PATTERN,
KOM.KOM_NAME
FROM INV.INV_PARPAT PARPAT
INNER JOIN INV.INV_PARAM PARAM ON PARPAT.PP_PAR_ID = PARAM.PAR_ID
INNER JOIN INV.INV_KOMPONENTE KOM on KOM.KOM_ID = (SUBSTR(PARPAT.PP_PATTERN,INSTR(PARPAT.PP_PATTERN, ':')+1))
WHERE PARPAT.PP_PATTERN LIKE '%ATA%';
关于mysql - 启用后加入Select语句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40484910/