2013-08-23 136 views
0

選擇其他兩個查詢所以,可以說我想要做的事,如:在甲骨文

SELECT Query1.a, 
     Query2.b 
FROM (
      SELECT q as a 
      FROM somewhere 
     ), 
     ( 
      SELECT g as b 
      FROM elsewhere 
     ) 
where Query 1 is 
     (
      SELECT q as a 
      FROM somewhere 
     ) 
     and Query2 is 
     (
      SELECT g as b 
      FROM elsewhere 
     ) 

所以,我想從另外兩個select語句選擇。

查詢1產生一個表

a 

value1 

查詢2產生一個表

b 

value 2 

和查詢3(外部選擇語句)產生

a     b 


value 1   value 2 

所以,本質上,二結果表被組合爲列而不是行。

謝謝,如果你有任何提示。

回答

0

你基本上有你的解決方案。你只是缺少您的查詢的名稱,所以這樣做:

SELECT Query1.a, 
     Query2.b 
FROM (
      SELECT q as a 
      FROM somewhere 
     ) Query1, 
     ( 
      SELECT g as b 
      FROM elsewhere 
     ) Query2 
+0

謝謝你這麼多!我不知道我能做到這一點。 – RebeccaK375

0

目前尚不清楚如何需要不同的行從表連接,但它可以是這樣的:

select query1.a, 
     query2.b 
FROM 
(select q as a, ROW_NUMBER() OVER (ORDER BY q) as RN from a) Query1 

FULL JOIN 
(select q as b, ROW_NUMBER() OVER (ORDER BY q) as RN from b) Query2 
ON Query1.RN=Query2.RN 

SQLFiddle example

0

你的語法是有點過了SQL圖表,但在本質上ritgh:

這是可以做到的子查詢:

select A.field from (select field from a_table) A; 

如果您想在select或where子句中使用它,那麼命名您的查詢至關重要。

甚至可以將它們像常規表結合:

select A.field, B.other_field from (select field from table1) A, (select other_field from table2) B; 

也可以做的人那種地方,分組和排序它的東西,但在你的情況下,沒有必要的。

0

我想這是你在找什麼:

SELECT query1.a, query2.b 
FROM 
    (SELECT q as a FROM somewhere) query1, 
    (SELECT g as b FROM elsewhere) query2 

這裏是一個SQLFiddle to test the query