说我有这张桌子
| Col |
-------
| ABC |
| DEF |
我应该写什么查询来获得这个结果(不是字面上的结果,而是一般的方法)?
| Col | Col2 |
--------------
| ABC | 0 |
| ABC | 1 |
| DEF | 0 |
| DEF | 1 |
答案 0 :(得分:1)
除非我遗漏了某些内容,否则这应该会为您提供您正在寻找的结果:
Select Col, Col2
From YourTable
Cross Join (Select 0 As Col2 Union Select 1 As Col2) X
Order By Col, Col2
答案 1 :(得分:0)
我猜你想为每个组合配对两列。您的问题含糊不清,并不是特定于问题。这是我的假设。
我猜这个查询可以做到:
Select Table1.Col1, Table2.Col2 from Table1 LEFT JOIN Table2 on 1=1
这样,你就可以将table1中的每一行与table2中的每一行配对。
编辑,没有table2:
Select Table1.Col1, Constructed.Col1 from Table1 LEFT JOIN
(Select 1 as Col1 UNION Select 2 as Col1 UNION
Select 7 as Col1 UNION Select 14 as Col1) Constructed on 1=1
答案 2 :(得分:0)
您可以测试查询,这是您想要的吗?
select * from
(select col1, 0 b from table) table1
union all (select col1, 1 b from table) order by 1;