我有2个表1- tbl_reaction,如下所示:
╔════╦═══════════╦════════════╦═════════╗
║ id ║ condition ║ phenomenon ║ infor ║
╠════╬═══════════╬════════════╬═════════╣
║ 1 ║ abcd123 ║ abcd123 ║ abcd123 ║
║ 2 ║ wer ║ wer ║ wer ║
╚════╩═══════════╩════════════╩═════════╝
2- tbl_reaction_item像这样:
╔══════╦═══════════╦═════════╦═════╗
║ reid ║ substance ║ type ║ num ║
╠══════╬═══════════╬═════════╬═════╣
║ 1 ║ H2 ║ income ║ 2 ║
║ 1 ║ O2 ║ income ║ 1 ║
║ 1 ║ H2O ║ outcome ║ 2 ║
╚══════╩═══════════╩═════════╩═════╝
显示反应:
收入+收入=结果
2H2 + O2 => 2H2O
我使用此查询:
SELECT CONCAT(GROUP_CONCAT(CASE WHEN type='income' THEN CONCAT(IF(num=1, '', num),substance) END SEPARATOR ' + '), ' => ',
GROUP_CONCAT(CASE WHEN type='outcome' THEN CONCAT(IF(num=1, '', num),substance) END SEPARATOR ' + '))
AS reaction
FROM tbl_reaction_item
GROUP BY reid;
但现在我想使用此查询来搜索反应中的物质