如何在指定的列值上进行交叉连接

时间:2018-03-12 22:40:01

标签: mysql sql

我正在尝试执行以下操作:

select * from main_genre
join (select 'SDBUY' UNION 'HDBUY') x

我想要的结果是:

'Action', 'SDBUY'
'Action', 'HDBUY'
'Comedy', 'SDBUY',
'Comedy', 'HDBUY'

在mysql中使用什么是正确的查询?

2 个答案:

答案 0 :(得分:1)

你想要这个吗?

select g.genre, x.what
from (select 'Action' as genre union all select 'Comedy') g cross join
     (select 'SDBUY' as what union all select 'HDBUY') x;

答案 1 :(得分:0)

使用cross join并确保每个联合语句中都包含select

select * from main_genre
cross join (
  select 'SDBUY'
   union all
  select 'HDBUY'
) x

如果在MySQL中未指定联接类型,则会使用inner joinWhat is the default MySQL JOIN behaviour, INNER or OUTER?