Mysql 比较同一select查询中的两个值

Mysql 比较同一select查询中的两个值,mysql,sql,Mysql,Sql,我有一个select查询,它从我的库存表中选择所有产品,并将它们与其他两个表(表l\U products和a\U products)连接起来 此select查询通常会给我一个表,例如 id, title, condition, margin, l_price, a_price ... 001-new ... new 10 20 10 001-used ... used 10 25

我有一个select查询,它从我的库存表中选择所有产品,并将它们与其他两个表(表l\U products和a\U products)连接起来

此select查询通常会给我一个表,例如

id,        title, condition, margin, l_price, a_price ...
001-new    ...    new        10      20       10       
001-used   ...    used       10      25       20
002....
现在我需要查询中的一个条件,它将忽略所有比“新”产品更贵(a_价格更高)的旧产品,例如在上面的示例中,您可以看到001 used的a_价格高于001 new


如何实现这一点,而不必解析为在每个id前缀都具有唯一相同值的列上使用php进行完全联接

您可以通过向
SELECT
调用中添加另一个字段来实现此效果,该字段为001 new和001 used、002 new和002 used生成相同的唯一值

可以通过定义自己的SQL例程从列中提取前3个字符来生成这样的值

id,        title, condition, margin, l_price, a_price ...
001-new    ...    new        10      20       10       
001-used   ...    used       10      25       20
002....