SELECT returnig a constant
I used to be able to return a constant value in a SELECT statement in
ORACLE. I need to populate a table for testing, and I was going to do so
like this:
SELECT
employee.id ,
project.proj_no ,
work_type.type ,
'rate' 1
FROM employee
CROSS JOIN project
CROSS JOIN work_type;
This statement works correctly, till I add the last "'rate' 1 line, then it
returns a syntax error.
How can I do this?
--
"They that would give up essential liberty for temporary safety deserve
neither liberty nor safety."
-- Benjamin Franklin
On Tue, Oct 15, 2019 at 09:28:51AM -0400, stan wrote:
I used to be able to return a constant value in a SELECT statement in
ORACLE. I need to populate a table for testing, and I was going to do so
like this:SELECT
employee.id ,
project.proj_no ,
work_type.type ,
'rate' 1
FROM employee
CROSS JOIN project
CROSS JOIN work_type;This statement works correctly, till I add the last "'rate' 1 line, then it
returns a syntax error.How can I do this?
Turns out this works.
SELECT
employee.id ,
project.proj_no ,
work_type.type ,
1 as rate
FROM employee
CROSS JOIN project
CROSS JOIN work_type;
~
--
"They that would give up essential liberty for temporary safety deserve
neither liberty nor safety."
-- Benjamin Franklin
On 15/10/2019 14:28, stan wrote:
I used to be able to return a constant value in a SELECT statement in
ORACLE. I need to populate a table for testing, and I was going to do so
like this:SELECT
employee.id ,
project.proj_no ,
work_type.type ,
'rate' 1
FROM employee
CROSS JOIN project
CROSS JOIN work_type;This statement works correctly, till I add the last "'rate' 1 line, then it
returns a syntax error.
I don't think you can use a number as a column name. Give it a different
name and it should work:
SELECT .... , 'rate' my_constant_name FROM ...
Ray.
--
Raymond O'Donnell // Galway // Ireland
ray@rodonnell.ie
On Tue, 15 Oct 2019 at 14:35, Ray O'Donnell <ray@rodonnell.ie> wrote:
On 15/10/2019 14:28, stan wrote:
I used to be able to return a constant value in a SELECT statement in
ORACLE. I need to populate a table for testing, and I was going to do so
like this:SELECT
employee.id ,
project.proj_no ,
work_type.type ,
'rate' 1
FROM employee
CROSS JOIN project
CROSS JOIN work_type;This statement works correctly, till I add the last " 'rate' 1 line, then it
returns a syntax error.I don't think you can use a number as a column name. Give it a different
name and it should work:
Well you can but only if you quote the column alias
SELECT
employee.id ,
project.proj_no ,
work_type.type ,
'rate' "1"
FROM employee
CROSS JOIN project
CROSS JOIN work_type;
but I really wouldn't recommend it. That way madness lies.
Geoff
On Tue, Oct 15, 2019 at 8:25 AM Geoff Winkless <pgsqladmin@geoff.dj> wrote:
On Tue, 15 Oct 2019 at 14:35, Ray O'Donnell <ray@rodonnell.ie> wrote:
On 15/10/2019 14:28, stan wrote:
I used to be able to return a constant value in a SELECT statement in
ORACLE. I need to populate a table for testing, and I was going to doso
like this:
SELECT
employee.id ,
project.proj_no ,
work_type.type ,
'rate' 1
FROM employee
CROSS JOIN project
CROSS JOIN work_type;This statement works correctly, till I add the last " 'rate' 1 line,
then it
returns a syntax error.
I would assume you have the value and the alias backwards and you want
SELECT 1 AS "rate"
Both the double quotes around the alias and the AS keyword are optional.
On 15/10/2019 15:01, stan wrote:
Thanks, as you can see from my SOLVED reply, I go that part figured out.
Now I am trying to figure out how to complete this. The SELECT returns more
than 1 row, and when I put that in the VALUES clause this does not work.
Please reply to the list, rather than to me - reply-all should do the
trick. :-)
You're using cross-joins, which returns the cartesian product of the
tables concerned, without any WHERE clause.... so if the tables are big
you'll return a LOT of data.
Ray.
--
Raymond O'Donnell // Galway // Ireland
ray@rodonnell.ie
Import Notes
Reply to msg id not found: 20191015140108.GA6107@panix.com