Star Gazr1
asked on
T-SQL Select a value
I am working with a query that I didn't write and I not sure how to interpret the SQL code.
I can't post the entire contents of the query but I will try to abbreviate what I am looking to interpret.
Select PurchaseDate from
Customers
Union
Select 2000-01-01 as SortOrder
from Customers
My question is the query is select a date value from the PurchaseDate Field and sort
from the earliest date of 2000-01-01.
The query seems to work correctly but I wasn't aware you can select a value you like this in T-SQL. My question is this a specific convention in SQL for selecting a value from a field as a sort order? Thanks for any feedback you can provide. I will try to post more of the query if my question isn't clear enough.
I can't post the entire contents of the query but I will try to abbreviate what I am looking to interpret.
Select PurchaseDate from
Customers
Union
Select 2000-01-01 as SortOrder
from Customers
My question is the query is select a date value from the PurchaseDate Field and sort
from the earliest date of 2000-01-01.
The query seems to work correctly but I wasn't aware you can select a value you like this in T-SQL. My question is this a specific convention in SQL for selecting a value from a field as a sort order? Thanks for any feedback you can provide. I will try to post more of the query if my question isn't clear enough.
I will try to post more of the query if my question isn't clear enough.
You may have better luck that way.
You may have better luck that way.
ASKER
@emoreau thanks for your reply. The Select 2000-01-01 SortOrder
returns the rows with with the dates in order starting at 2000 and moving forward.
What I am not familiar with is the concept of selecting a value such as 2000-01-01, this is something I haven't seen before usually I am only selecting a column. What I am trying to
get more info on is when you would select a value such as above versus selecting a Column. Thanks.
returns the rows with with the dates in order starting at 2000 and moving forward.
What I am not familiar with is the concept of selecting a value such as 2000-01-01, this is something I haven't seen before usually I am only selecting a column. What I am trying to
get more info on is when you would select a value such as above versus selecting a Column. Thanks.
because you are using a "select value" and this is unionized to another select, the value is returned part of the resultset.
ASKER
Ok, so that makes it a bit clearer. So when you are selecting a value versus selecting a column, typically you would only doing this when using a UNION ? Or are there other cases for Selecting a value. Thanks.
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Thanks @Qlemo and @Emoreau. I appreciate the help. I wanted to read up more on this process that you are discussing. I spoke with someone else who has more experience than me - they mentioned that doing something like is referred to as a 'print statement' in a Union (not sure). Does that sound correct?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
thanks for all the feedback.
if you run your second part alone:
Select 2000-01-01 as SortOrder
from Customers
This will return the value 2001-01-01 with a caption of SortOrder repeated as many times as you have rows in your Customers table.
Because you have a UNION clause, all the duplicate values are removed.
Also, the Alias (as SortOrder) of the second query is not useful
Your query should read like this:
Select PurchaseDate from
Customers
Union
Select 2000-01-01