English 中文(简体)
页: 1
原标题:Oracle SQL: multiple use of a previous result in a statement
  • 时间:2012-01-12 11:50:35
  •  标签:
  • sql
  • oracle

我愿取得这样的成就:

SELECT col1,col2-(SELECT foo FROM table1) 
FROM table2 
WHERE col2>(SELECT foo FROM table1)

如无SlectTing foo两次。

Can I do that with Oracle SQL? Would it be more efficient than SELECTing twice (or multiple times)?

最佳回答

How about

WITH
  foo      AS  select foo from table1
SELECT
    col1, col2 - foo.foo
FROM
    table2, foo
WHERE
   col2 > foo.foo
问题回答

You could write it like this:

SELECT
    s.col1, s.col2 - s.foo
FROM
(
    SELECT col1, col2, (SELECT foo FROM table1) as foo
    FROM table2
) s
WHERE s.col2 > s.foo

假设您的舱位回归单行(否则,该子舱的两种用途都会回落差错),则只有一位喀里士加入。

SELECT a.col1, a.col2 - b.foo
  FROM table2 a,
       (SELECT foo FROM table1) b
 WHERE a.col2 > b.foo
SELECT col1, col2 - foo
  FROM table2, table1
 WHERE col2 > foo

但只有表1有一行。





相关问题
Export tables from SQL Server to be imported to Oracle 10g

I m trying to export some tables from SQL Server 2005 and then create those tables and populate them in Oracle. I have about 10 tables, varying from 4 columns up to 25. I m not using any constraints/...

Connecting to Oracle 10g with ODBC from Excel VBA

The following code works. the connection opens fine but recordset.recordCount always returns -1 when there is data in the table. ANd If I try to call any methods/properties on recordset it crashes ...

How to make a one to one left outer join?

I was wondering, is there a way to make a kind of one to one left outer join: I need a join that matches say table A with table B, for each record on table A it must search for its pair on table B, ...

Insert if not exists Oracle

I need to be able to run an Oracle query which goes to insert a number of rows, but it also checks to see if a primary key exists and if it does, then it skips that insert. Something like: INSERT ALL ...

How can I store NULLs in NOT NULL field?

I just came across NULL values in NOT-NULL fields in our test database. How could they get there? I know that NOT-NULL constraints can be altered with NOVALIDATE clause, but that would change table s ...

Type reference scope

I m studying databases and am currently working on a object-relational DB project and I ve encountered a small problem with the number of possible constraints in an object table. I m using "Database ...

OracleParameter and DBNull.Value

we have a table in an Oracle Database which contains a column with the type Char(3 Byte). Now we use a parameterized sql to select some rows with a DBNull.Value and it doesn t work: OracleCommand ...

热门标签