|
Not half as tired as I am! I don't mind helping people, but it doesn't seem like you are trying very hard.
How about you putting some effort into understanding what the queries are trying to do. The SQL that I provided is basically three separate select-statements layered inside each other. I would suggest that you get the inner-most query working first:
select customer_id, max(order_id)
from cust_order
inner join cust_debit
on cust_debit.order_id = cust_order.order_id
group by customerId
having sum(cust_debit.amount) >= 2000 and the build up gradually to your final solution. If your machine is hanging then that may indicate that your database is not indexed properly.
|
|
|
|
|
Hi,
What sort of rigts needed to create tablespace in oracle?
Best Regards,
Mushq
Mushtaque Ahmed Nizamani
Software Engineer
Ultimus Pakistan
"English is my second language, so please don't mind if i do some grammatical or spelling mistakes in my messages."
|
|
|
|
|
GRANT create tablespace TO #user id#;
-- modified at 4:22 Wednesday 18th July, 2007
If you want to thank me for my help, please vote my message by clicking one of numbers beside "Rate this message".
|
|
|
|
|
Hi i have table like this format:
Id sMonth sYear value1
608 6 2007 100
608 7 2007 200
608 8 2007 150
608 6 2008 652
608 7 2008 120
608 8 2008 234
Suppose i need the records between the 6th month 2007 to 6th month 2008
O/P:
Id sMonth sYear value1
608 6 2007 100
608 7 2007 200
608 8 2007 150
608 6 2008 652
How to write the query???,
If its in date format we can use between condition...,
But in this case how u can compare the months and years ???,
Regards,
Magi
|
|
|
|
|
How about
select * from MyTable
where (sYear > 2007 or (sYear = 2007 and sMonth >= 6))
and (sYear < 2008 or (sYear = 2008 and sMonth <= 6)) or
select * from MyTable
where convert(varchar(6), (Year*100)+sMonth) between '200706' and '200806' Regards
Andy
-- modified at 14:19 Wednesday 18th July, 2007
If you want to thank me for my help, please vote my message by clicking one of numbers beside "Rate this message".
|
|
|
|
|
Hi andy,
Thank u for ur reply...,
Ya i getting o/p for the first query...,
But second query is not giving proper o/p...,
Anyway one solution is enough...,
Thank's lot...,
keep in touch,
Regards,
Magi
|
|
|
|
|
You're welcome.
The second query should have used (sYear*100) . I hadn't woken-up properly
|
|
|
|
|
5 votes to you man. I was about to say bad database design
|
|
|
|
|
Sorry Magi,
Did not wanted to hurt your feelings about the design, But it is a bad practice, you should always use DateTime format. If you want to look at month and year only, you can still do that using datetime column. As you proceed further you will find data Access more and more difficult. That is why they say that make sure your design is right. Consult your senior developers about the design.
And finally, as you said, it might be right in your case, so thats good
Cheers
|
|
|
|
|
S repli,
I know what ur trying to say...,
But i cant get date from my end user...,
Becoz a month full records i am storing in one row itself...,
So how i can tell the date in this?...,
So in this we can use table deisgn like that only...,
Sorry yar i think my words also make u to feel..,
Once again sorry for that,
Keep in touch,
Regards,
Magi
|
|
|
|
|
andyharman wrote: select * from MyTable where convert(varchar(6), (Year*12)+sMonth) between '200706' and '200806'
Actually, (Year*12)+sMonth wont get you those values at all
|
|
|
|
|
And looks like I wasn't reading properly either, before posting my message... pl ignore - I saw your clarification after I had hit the submit.
|
|
|
|
|
writing query for your requirement will be bit tough. Why don't you use date fields rather than storing date like this. In date fields you can use > or < operators to get the dates in between two dates.
|
|
|
|
|
Thanks for ur reply navaneeth...,
s navaneeth, i amn't getting date format from my end user...,
Just i am getting month and year only...,
So cant say in dateformat in my table...,
But any way thanks for ur suggestion...,
See andy's first query is giving solution for this probs...,
Keep in touch,
Friendly,
Regards,
Magi
|
|
|
|
|
SELECT * FROM TblA
WHERE Convert(Datetime, '01/'+sMonth+'/'+sYear, 103) BETWEEN '01-Jun-2007' AND '30-Jun-2008'
Regards
KP
|
|
|
|
|
You are right, the only thing is not all months have last day as 30, it can be 30, 28, 31... but well this is the right way to do anyway, there is a store procedure which gets the last day of the month in a particular year, can always use that.
|
|
|
|
|
given Month & Year are constant (june, 2007, 2008)
Also the date which is derived is always 1st.
Regards
KP
|
|
|
|
|
Hi all
i have a case where i have 3 tables
table 1
blId blDesc
1 test1
----------
table 2
bl2Id bl2Desc blId
1 test2 1
-------------------
table 3
id name description
1 bilal test1.test2
the description of table3 (test1.test2) containing description from table1 and its child from table2
how can I query table3 and have instead of test1.test2, 1.1 (The Ids)
Please Help
|
|
|
|
|
For SQL-Server, you could try:
select table3.description,
convert(varchar, table1.blId) + '.' + convert(varchar, table2.bl2Id) as TheIds
from table3
inner join table1
on table3.description like table1.blDesc + '.%'
inner join table2
on table3.description like '%.' + table2.bl2Desc
order by table1.blId, table2.bl2Id Regards
Andy
If you want to thank me for my help, please vote my message by clicking one of numbers beside "Rate this message".
|
|
|
|
|
Hi All,
I have a table with some columns. My project is when I upade any of the
column then I want a trigger to execute in a column named DATE_UPDATED. i
have the following trigger but when I update any column it doesn't allow me
to update the table manually. Where is the problem. e.g if I try to update
column name ADDRESS1 it gives the error message
ERROR MESSAGE = The transaction ended in the trigger. The batch has been
aborted.
Here is my trigger.
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER TRIGGER [trgUddated]
ON [dbo].[DELTA_CARRIER]
FOR UPDATE
AS
If UPDATE(CARRIER_NAME)
BEGIN
PRINT('AFTER Trigger [trgUddate] - Executed - Carrier Name has
been updated')
ROLLBACK TRANSACTION
END
else If UPDATE(ADDRESS1)
BEGIN
PRINT('AFTER Trigger [trgUddate] - Executed - Address1 has been
updated')
ROLLBACK TRANSACTION
END
else If UPDATE(ADDRESS2)
BEGIN
PRINT('AFTER Trigger [trgUddate] - Executed - Address2 Name has
been updated')
ROLLBACK TRANSACTION
END
else If UPDATE(CITY)
BEGIN
PRINT('AFTER Trigger [trgUddate] - Executed - City has been
updated')
ROLLBACK TRANSACTION
END
else If UPDATE(STATE)
BEGIN
PRINT('AFTER Trigger [trgUddate] - Executed - State Name has
been updated')
ROLLBACK TRANSACTION
END
else If UPDATE(ZIP_CODE)
BEGIN
PRINT('AFTER Trigger [trgUddate] - Executed - Zip code has been
updated')
ROLLBACK TRANSACTION
END
else If UPDATE(PHONE)
BEGIN
PRINT('AFTER Trigger [trgUddate] - Executed - Phone Name has
been updated')
ROLLBACK TRANSACTION
END
UPDATE DELTA_CARRIER
SET DATE_UPDATED = GETDATE()
WHERE CARRIER_ID = 7551
seema
|
|
|
|
|
If you want your manual updates to succeed then remove the "Rollback Transaction" statements from your trigger.
If you want to thank me for my help, please vote my message by clicking one of numbers beside "Rate this message".
|
|
|
|
|
I have the following challenge:
I have a table "Table1" with two columns:
Column A int
Column B int
I am using the combination of A and B as a unique identifer.
I suspect there is bug in the stored procedure, therefore, I need to find where there is a duplicate row where coulmn A and B values in one row match that of another row.
What method should I use to do this?
Any help is greatly appreciated
Regards,
Hulicat
|
|
|
|
|
I got it thanks
Regards,
Hulicat
|
|
|
|
|
I use this connection string to connect to a DB on the same computer as the application.
Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;
Now I want to connect from my application to a remote database on remote server through local network. How should I modify the connection string?
|
|
|
|
|
http://www.connectionstrings.com[^] can help you out. You are going to have to point the connection string to the ip address of the remote server. Frankly, I have not done any Oracle work in the past year or so, the site I provided is a very useful site that is worth bookmarking
"I've seen more information on a frickin' sticky note!" - Dave Kreskowiak
|
|
|
|