如何使用具有条件的两个表在SQL中创建临时表

时间:2018-02-02 12:07:13

标签: sql

我有两个表有两个相似的列,但我想通过使用上面两个表来获取新表。在一个表列中有1到30个数字但另一个表只有7到15最后我想在新表中有新列7 15真实和遗留虚假。

2 个答案:

答案 0 :(得分:1)

您可以使用左连接和大小写来解决此问题。 如果在你的桌子上与左连接相交之后

  • a.id b.id
  • 1 NULL
  • 2 NULL
  • 3 NULL
  • 4 NULL
  • 5 NULL
  • 6 NULL
  • 7 7
  • 8 8
  • ...
  • 15 15
  • 16 NULL
  • 17 NULL
  • ...
  • 30 NULL

然后案件b.id. 当NULL那么'错' 别的'真'

我希望它有所帮助。 这是我的第一次参赛。

答案 1 :(得分:0)

如果你的意思是想要将一张窄桌附加到更宽的桌子上,就像这样...

 c01 | c02 | c03 | c04
-----+-----+-----+----
  T  |  T  |  T  | F
  T  |  F  |  T  | F

appended with...

 c01 | c02 
-----+-----
  T  |  F
  F  |  T

 giving....

 c01 | c02 | c03 | c04
-----+-----+-----+----
  T  |  T  |  T  | F
  T  |  F  |  T  | F
  T  |  F  |  F  | F
  F  |  T  |  F  | F

然后您可以使用UNION ALL并明确说明“缺失”列的“虚拟/默认”值。

SELECT
  table_with_30_columns_of_variables.*
FROM
  table_with_30_columns_of_variables

UNION ALL

SELECT
  table_with_15_columns_of_variables.*,
  FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE
FROM
  table_with_15_columns_of_variables