从两行,一列创建表

时间:2014-02-10 11:10:27

标签: sql create-table

我正在尝试使用同一列中的两个不同的行创建图表。

第一行(y轴)很好。

SELECT box_value FROM my_table WHERE box_value=42 AND box_id=250

表示x轴。

第二行(x轴)

SELECT box_value FROM my_table WHERE box_id=250

不好,因为我不能在同一程序中使用'SELECT'来调用第二行!

我想要实现的是 -

box_id=250  | box_value=42
--------------------------
45          | 42
63          | 42
70          | 42
54          | 42
45          | 42

在我看来,它不能在SQL中完成

我是对的吗?

或者你是一个愿意帮助的天才?

2 个答案:

答案 0 :(得分:1)

您可以通过对这两个值执行join来执行此操作。请注意,您将返回多行,因此不能将其作为select子句中的嵌套子查询执行此操作:

select x.box_value as x, y.box_value as y
from (SELECT box_value
      FROM my_table
      WHERE box_id = 250
     ) x cross join
     (SELECT box_value
      FROM my_table
       WHERE box_value = 42 AND box_id = 250
     ) y;

我确实想要注意y值是常量,所以你也可以这样做:

select x.box_value as x, 42 as y
from (SELECT box_value
      FROM my_table
      WHERE box_id = 250
     ) x 

答案 1 :(得分:0)

SELECT * FROM (
(SELECT ... FROM my_table WHERE ...) as Column_1_name,
(SELECT ... FROM my_table WHERE ...) as Column_2_name
)

上述内容可以帮助您:)