Mysql 如何合并两个表,但根据条件选择值?

Mysql 如何合并两个表,但根据条件选择值?,mysql,sql,union-all,Mysql,Sql,Union All,有两张桌子-书,供应。 供应表: 供应标识 标题 作者 价格 数量 1 标题1 作者1 518.99 2 2 标题2 作者2 570.20 6 三 标题3 作者3 540.50 7 4 标题4 作者4 360.80 三 您可以使用窗口功能: select bs.* from (select bs.*, row_number() over (partition by title order by price desc) as seqnum from ((sel

有两张桌子-书,供应。 供应表:

供应标识 标题 作者 价格 数量 1 标题1 作者1 518.99 2 2 标题2 作者2 570.20 6 三 标题3 作者3 540.50 7 4 标题4 作者4 360.80 三
您可以使用窗口功能:

select bs.*
from (select bs.*,
             row_number() over (partition by title order by price desc) as seqnum
      from ((select supply_id, title, author, price, amount
             from book
            ) union all
            (select supply_id, title, author, price, amount
             from supply
            )
           ) bs
     ) bs
where seqnum = 1;
      
试试这个:

select title, price, amount 
from supply s
where not exists (select 1 from book b where s.title = b.title and b.price > s.price)

union all

select title, price, amount 
from book b
where not exists (select 1 from supply s where s.title = b.title and s.price > b.price)

如果两个表中都有项目,那么就选择价格最高的一个,这就是你想要的吗?@GiorgosBetsos是sirIs table
Book
Supply?@GiorgosBetsos否这些是不同的表hmmm thx u,但这似乎很复杂,有没有办法使用where子句?