Help on this query that is using sysdate
Hi
I'm trying to get the objects created on the current date using the following query
select owner,object_name,object_type,created from dba_objects where created = TRUNC(SYSDATE);
but i don't see any rows for this query;
but when i use this query .
SELECT owner,object_name,object_type,created FROM DBA_OBJECTS ORDER BY CREATED DESC;
i see some objects created today. Can you help me out if i missed any thing in the sysdate query.
thanks
Try this..
select owner,object_name,object_type,created
from dba_objects
where trunc(created) = TRUNC(SYSDATE);
Similar Messages
-
Plz help me this query:
Create a query that displays the employees last name and indicates the amounts of their annual salaries with *. Each * signifies a thousand $'s.
EG. If the salary of an employee with last name king is 2000 then it should appear as follows:
King **
2 (*) for 2 thousand.
Thanks in advanceHi,
I was able to solve this query on my own. For those who might face a problem in future the solutionto it is:
SELECT rpad(last_name, length(last_name) + (salary/1000), '*') AS employee_and_their_salaries
FROM employees;
Thanks -
Please need help with this query
Hi !
Please need help with this query:
Needs to show (in cases of more than 1 loan offer) the latest create_date one time.
Meaning, In cases the USER_ID, LOAN_ID, CREATE_DATE are the same need to show only the latest, Thanks!!!
select distinct a.id,
create_date,
a.loanid,
a.rate,
a.pays,
a.gracetime,
a.emailtosend,
d.first_name,
d.last_name,
a.user_id
from CLAL_LOANCALC_DET a,
loan_Calculator b,
bv_user_profile c,
bv_mr_user_profile d
where b.loanid = a.loanid
and c.NET_USER_NO = a.resp_id
and d.user_id = c.user_id
and a.is_partner is null
and a.create_date between
TO_DATE('6/3/2008 01:00:00', 'DD/MM/YY HH24:MI:SS') and
TO_DATE('27/3/2008 23:59:00', 'DD/MM/YY HH24:MI:SS')
order by a.create_datePerhaps something like this...
select id, create_date, loanid, rate, pays, gracetime, emailtosend, first_name, last_name, user_id
from (
select distinct a.id,
create_date,
a.loanid,
a.rate,
a.pays,
a.gracetime,
a.emailtosend,
d.first_name,
d.last_name,
a.user_id,
max(create_date) over (partition by a.user_id, a.loadid) as max_create_date
from CLAL_LOANCALC_DET a,
loan_Calculator b,
bv_user_profile c,
bv_mr_user_profile d
where b.loanid = a.loanid
and c.NET_USER_NO = a.resp_id
and d.user_id = c.user_id
and a.is_partner is null
and a.create_date between
TO_DATE('6/3/2008 01:00:00', 'DD/MM/YY HH24:MI:SS') and
TO_DATE('27/3/2008 23:59:00', 'DD/MM/YY HH24:MI:SS')
where create_date = max_create_date
order by create_date -
Hi , i have a table of 3000000 rows, and am executing this script
update products set cas_num = trim(cas_num
due to which it is taking 99.2% of UNDO TS ,
I was just exactly thinking the same if i can put it in a simple SQL loop statement and have it commit for like every 10,000 rows.
Could you please help me a better way to to accomplish this simple SQL loop statement?
Thanks
VkCheck your original post. You wouldn't get different replies as the same set of people check here too.
Help on this query ( taking 99% of UNDO TS on 10g ) -
Need help in this query using Case Statement
I have the following query which is currently existing and I am adding few more conditions based on the new requirements which is based on a particular flag set as 1 or 0.
If it is set to 1 then I should use the old query as it is and if it is set to 0 then I should add the new conditions.
Basically when the flag is set to 0, I shouldnt be including some of the records that already exists and should include only new records. This is based on the plan_type_ids in (1,2,3,4).
Hence I am using the Case statement to check if the plan_type_id is in (1,2) then do a set of not exists and if the plan_type_id in (3,4) then do set of not exists.
But when I run this query it is giving me error. What am I doing wrong?
Is there any other simple way to combine all the not exists for all of those select statements as given after the line ------------------------- into a single one?
What am I doing wrong?
I tried putting the NOT EXists before the case too but that too didnt work.
Please help. Appreciate it.
Thank you in advance.
SELECT
ee.employee_id
,'WELCOMEMSG'
,DECODE( me.member_enrollment_id
,first_enr.enrollment_id
,20
,23
) status_id
,me.member_enrollment_id
,wk.welcome_msg_id
FROM wk
,employees ee
,MEMBER_ENROLLMENTS me
,plans pl
,( SELECT employee_id
,plan_type_id
,start_date
,plan_id
,MIN(MEMBER_ENROLLMENT_ID) member_enrollment_id
FROM ( SELECT me.employee_id
,DECODE(pl.plan_type_id,1,2,pl.plan_type_id) plan_type_id
,pl.start_date
,wk.plan_id
,me.member_enrollment_id
FROM wk
,PLANS pl
,MEMBER_ENROLLMENTS me
WHERE wk.done_by = nvl('TEST' ,wk.done_by)
AND wk.welcome_msg_name <> 'NONE'
AND pl.employer_id = wk.employer_id
AND wk.employer_id = 5
AND DECODE(pl.plan_type_id,1,2,pl.plan_type_id) = wk.plan_type_id
AND pl.plan_id = NVL(wk.plan_id,pl.plan_id)
AND me.plan_id = pl.plan_id
AND me.coverage_effective_date <> NVL(me.coverage_end_Date, me.coverage_effective_date + 1)
AND me.coverage_effective_Date BETWEEN wk.start_date AND NVL(wk.end_date, me.coverage_effective_date + 1)
MINUS
SELECT me.employee_id
,DECODE(pl.plan_type_id,1,2,pl.plan_type_id) plan_type_id
,pl.start_date
,NULL plan_id
,me.member_enrollment_id
FROM wk
,PLANS pl
,MEMBER_ENROLLMENTS me
WHERE wk.done_by = nvl(NULL,wk.done_by)
AND wk.welcome_msg_name <> 'NONE'
AND pl.employer_id = wk.employer_id
AND wk.employer_id = 5
AND DECODE(pl.plan_type_id,1,2,pl.plan_type_id) = wk.plan_type_id
AND pl.plan_id = wk.plan_id
AND me.plan_id = pl.plan_id
AND me.coverage_effective_date <> NVL(me.coverage_end_Date, me.coverage_effective_date + 1)
AND me.coverage_effective_Date BETWEEN wk.start_date AND NVL(wk.end_date, me.coverage_effective_date + 1)
WHERE employee_id = 100
GROUP BY employee_id ,plan_type_id,start_date ,plan_id
)first_enr
,MEMBER_EVENTS mv
WHERE wk.done_by = nvl(NULL,wk.done_by)
AND wk.employer_id = ee.employer_id
AND ee.employee_id = me.employee_id
AND ee.employee_id = 100
AND me.plan_id = pl.plan_id
AND me.coverage_effective_date <> NVL(me.coverage_end_Date, me.coverage_effective_date + 1)
AND me.coverage_effective_Date BETWEEN wk.start_date AND NVL(wk.end_date, me.coverage_effective_date + 1)
AND is_expired(me.employee_id,me.plan_id) = 'Y'
AND DECODE(pl.plan_type_id,1,2,pl.plan_type_id) = wk.plan_type_id
AND pl.plan_id=nvl(wk.plan_id,pl.plan_id)
AND me.employee_id = first_enr.employee_id
AND DECODE(pl.plan_type_id,1,2,pl.plan_type_id) = first_enr.plan_type_id
AND pl.start_date = first_enr.start_date
AND me.member_enrollment_id = mv.member_enrollment_id (+)
AND 'WELCOMEMSG' = mv.event_name(+)
AND mv.member_enrollment_id IS NULL
AND wk.welcome_msg_name <> 'NONE'
AND NVL(first_enr.plan_id,0) = NVL( wk.plan_id,0)
AND (FN_get_all_participant(wk.employer_id) = 1
OR
(FN_get_all_participant(wk.employer_id) = 0
AND (CASE WHEN pl.plan_type_id IN (1,2)
THEN NOT EXISTS (SELECT 'X'
FROM member_accounts ma
member_enrollments men3
plans pl3
plan_types pt3
WHERE ma.member_account_id = men3.member_account_id
AND ma.employee_id = me.employee_id
AND ma.plan_id = pl3.plan_id
AND pl3.start_date < pl.START_DATE
AND TRUNC(men3.coverage_effective_date) <> TRUNC(NVL(men3.coverage_end_date, men3.coverage_effective_date + 1 ))
AND pl3.plan_type_id = pt3.plan_type_id
AND pt3.plan_type_id in (1, 2)
UNION
(SELECT 'X'
FROM member_accounts ma
member_enrollments men3
plans pl3
plan_types pt3
WHERE ma.member_account_id = men3.member_account_id
AND ma.employee_id = me.employee_id
AND ma.plan_id = pl3.plan_id
AND pl3.start_date = (pl.start_date - 365)
\ AND TRUNC(men3.coverage_effective_date) <> TRUNC(NVL(men3.coverage_end_date, men3.coverage_effective_date + 1 ))
AND pl3.plan_type_id = pt3.plan_type_id
AND pt3.plan_type_id = wk.plan_type_id
UNION
(SELECT 'X'
FROM member_accounts ma
member_enrollments men3
plans pl3
plan_types pt3
WHERE ma.member_account_id = men3.member_account_id
AND ma.employee_id = men2.employee_id
AND ma.plan_id = pl3.plan_id
AND pl3.start_date < pl2.START_DATE -- '01-Jan-2011'
AND TRUNC(men3.coverage_effective_date) <> TRUNC(NVL(men3.coverage_end_date, men3.coverage_effective_date + 1 ))
AND pl3.plan_type_id = pt3.plan_type_id
AND pt3.plan_type_id = 2
UNION
(SELECT 'X'
FROM member_accounts ma
member_enrollments men3
plans pl3
plan_types pt3
WHERE ma.member_account_id = men3.member_account_id
AND ma.employee_id = men2.employee_id
AND ma.plan_id = pl3.plan_id
AND pl3.start_date < pl2.START_DATE -- '01-Jan-2011'
AND TRUNC(men3.coverage_effective_date) <> TRUNC(NVL(men3.coverage_end_date, men3.coverage_effective_date + 1 ))
AND pl3.plan_type_id = pt3.plan_type_id
AND pt3.plan_type_id = 1
WHEN pl.plan_type_id IN (3, 4)
THEN NOT EXISTS (SELECT 'X'
FROM member_accounts ma
member_enrollments men3
plans pl3
plan_types pt3
WHERE ma.member_account_id = men3.member_account_id
AND ma.employee_id = men2.employee_id
AND nvl(ma.account_end_date, sysdate) <= trunc(sysdate)
AND ma.plan_id = pl3.plan_id
AND pl3.start_date <= pl2.START_DATE
AND TRUNC(men3.coverage_effective_date) <> TRUNC(NVL(men3.coverage_end_date, men3.coverage_effective_date + 1 ))
AND pl3.plan_type_id = pt3.plan_type_id
AND pt3.plan_type_id in (3, 4)
END
AND (CASE WHEN pl.plan_type_id IN (1,2)
ERROR at line 89:
ORA-00936: missing expressionMaybe
SELECT ee.employee_id,
'WELCOMEMSG',
DECODE(me.member_enrollment_id,first_enr.enrollment_id,20,23) status_id,
me.member_enrollment_id,
wk.welcome_msg_id
FROM wk,
employees ee,
MEMBER_ENROLLMENTS me,
plans pl,
(SELECT employee_id,
plan_type_id,
start_date,
plan_id,
MIN(MEMBER_ENROLLMENT_ID) member_enrollment_id
FROM (SELECT me.employee_id,
DECODE(pl.plan_type_id,1,2,pl.plan_type_id) plan_type_id,
pl.start_date,
wk.plan_id,
me.member_enrollment_id
FROM wk,
PLANS pl,
MEMBER_ENROLLMENTS me
WHERE wk.done_by = nvl('TEST',wk.done_by) /* same as wk.done_by = 'TEST' */
AND wk.welcome_msg_name 'NONE'
AND pl.employer_id = wk.employer_id
AND wk.employer_id = 5
AND DECODE(pl.plan_type_id,1,2,pl.plan_type_id) = wk.plan_type_id
AND pl.plan_id = NVL(wk.plan_id,pl.plan_id)
AND me.plan_id = pl.plan_id
AND me.coverage_effective_date != NVL(me.coverage_end_Date,me.coverage_effective_date + 1)
AND me.coverage_effective_Date BETWEEN wk.start_date AND NVL(wk.end_date,me.coverage_effective_date + 1)
MINUS
SELECT me.employee_id,
DECODE(pl.plan_type_id,1,2,pl.plan_type_id) plan_type_id,
pl.start_date,
NULL plan_id,
me.member_enrollment_id
FROM wk,
PLANS pl,
MEMBER_ENROLLMENTS me
WHERE wk.done_by = nvl(NULL,wk.done_by) /* same as 1 = 1 */
AND wk.welcome_msg_name 'NONE'
AND pl.employer_id = wk.employer_id
AND wk.employer_id = 5
AND DECODE(pl.plan_type_id,1,2,pl.plan_type_id) = wk.plan_type_id
AND pl.plan_id = wk.plan_id
AND me.plan_id = pl.plan_id
AND me.coverage_effective_date NVL(me.coverage_end_Date,me.coverage_effective_date + 1)
AND me.coverage_effective_Date BETWEEN wk.start_date AND NVL(wk.end_date, me.coverage_effective_date + 1)
WHERE employee_id = 100
GROUP BY employee_id,
plan_type_id,
start_date,
plan_id
) first_enr,
MEMBER_EVENTS mv
WHERE wk.done_by = nvl(NULL,wk.done_by)
AND wk.employer_id = ee.employer_id
AND ee.employee_id = me.employee_id
AND ee.employee_id = 100
AND me.plan_id = pl.plan_id
AND me.coverage_effective_date != NVL(me.coverage_end_Date,me.coverage_effective_date + 1)
AND me.coverage_effective_Date BETWEEN wk.start_date AND NVL(wk.end_date, me.coverage_effective_date + 1)
AND is_expired(me.employee_id,me.plan_id) = 'Y'
AND DECODE(pl.plan_type_id,1,2,pl.plan_type_id) = wk.plan_type_id
AND pl.plan_id = nvl(wk.plan_id,pl.plan_id)
AND me.employee_id = first_enr.employee_id
AND DECODE(pl.plan_type_id,1,2,pl.plan_type_id) = first_enr.plan_type_id
AND pl.start_date = first_enr.start_date
AND me.member_enrollment_id = mv.member_enrollment_id(+)
AND 'WELCOMEMSG' = mv.event_name(+)
AND mv.member_enrollment_id IS NULL
AND wk.welcome_msg_name != 'NONE'
AND NVL(first_enr.plan_id,0) = NVL(wk.plan_id,0)
AND (
FN_get_all_participant(wk.employer_id) = 1
OR
(FN_get_all_participant(wk.employer_id) = 0
AND NOT EXISTS(SELECT 'X'
FROM member_accounts ma,
member_enrollments men3,
plans pl3,
plan_types pt3
WHERE ma.member_account_id = men3.member_account_id
AND ma.employee_id = me.employee_id
AND ma.plan_id = pl3.plan_id
AND pl3.start_date < pl.START_DATE
AND TRUNC(men3.coverage_effective_date) != TRUNC(NVL(men3.coverage_end_date,men3.coverage_effective_date + 1))
AND pl3.plan_type_id = pt3.plan_type_id
AND pt3.plan_type_id in (1,2)
and pl.plan_type_id IN (1,2)
UNION
SELECT 'X'
FROM member_accounts ma,
member_enrollments men3,
plans pl3,
plan_types pt3
WHERE ma.member_account_id = men3.member_account_id
AND ma.employee_id = me.employee_id
AND ma.plan_id = pl3.plan_id
AND pl3.start_date = (pl.start_date - 365)
AND TRUNC(men3.coverage_effective_date) != TRUNC(NVL(men3.coverage_end_date,men3.coverage_effective_date + 1))
AND pl3.plan_type_id = pt3.plan_type_id
AND pt3.plan_type_id = wk.plan_type_id
and pl.plan_type_id IN (1,2)
UNION
SELECT 'X'
FROM member_accounts ma,
member_enrollments men3,
plans pl3,
plan_types pt3
WHERE ma.member_account_id = men3.member_account_id
AND ma.employee_id = men2.employee_id
AND ma.plan_id = pl3.plan_id
AND pl3.start_date < pl2.START_DATE -- '01-Jan-2011'
AND TRUNC(men3.coverage_effective_date) != TRUNC(NVL(men3.coverage_end_date,men3.coverage_effective_date + 1))
AND pl3.plan_type_id = pt3.plan_type_id
AND pt3.plan_type_id = (1,2)
and pl.plan_type_id IN (1,2)
UNION
SELECT 'X'
FROM member_accounts ma,
member_enrollments men3,
plans pl3,
plan_types pt3
WHERE ma.member_account_id = men3.member_account_id
AND ma.employee_id = men2.employee_id
AND trunc(nvl(ma.account_end_date,sysdate)) <= trunc(sysdate)
AND ma.plan_id = pl3.plan_id
AND pl3.start_date <= pl2.START_DATE
AND TRUNC(men3.coverage_effective_date) != TRUNC(NVL(men3.coverage_end_date,men3.coverage_effective_date + 1))
AND pl3.plan_type_id = pt3.plan_type_id
AND pt3.plan_type_id in (3,4)
and pl.plan_type_id IN (3,4)
)Regards
Etbin -
Internal query that is used during the message search from EMC
Hi,
We have a requirement where in we need to identify the internal query that is executed ( since there were few mails that are being deleted at production instance, so want to know the details) when we search for the data from the following navigation:
Oracle Email Center -> Messages -> Search.
Could you please help us out in knowing the exact query as early as possible as it is of high priority.Thanks for your input.
Let me explain how we solved our problem in brief:
- We have created a new infobject for item number with 5 digits
- We added this to the key in DEV system
- We created a copy of the active table how it would look like after transport on DB level
- We copied data 380 million records into the new table on DB level
- We renmade the active table to xxx_old to have a back-up and then re-created an empty active table via SE14
- We imported the transport when all 3 DSO tables were empty, which was very fast
- We dropped the empty active table
- We renamed the copy of the active table to carry the name of the active table
During this process we ensured beforehand that SIDs are available for the new IOBJ. We also filled the new IOBJ by copying the values from the 3-digit IOBJ.
All went well. -
Can any one help with this query please
I have a table something as below
Things_t
Things Characteristic Char Value
Item 1 Colour Red
Item 1 Packaging
Item 2 Shape Square
Item 2 Brand Spunk
Now i want to reterive an item with none of its char values as Null. Using the query “ select distinct things from things_t where char value is Null ” will fetch the item 1 also together with item 2. i want to fetch a record from thing for which none of the char values are Null such as Item 2. Can you please help me with this query.Try this:
WITH t AS
(SELECT 1 item_id, 17436 chr_id, 14225034 chr_val_id FROM dual UNION
SELECT 1 item_id, 39 chr_id, 14276173 chr_val_id FROM dual UNION
SELECT 1 item_id, 17774 chr_id, NULL chr_val_id FROM dual UNION
SELECT 1 item_id, 265 chr_id, 20502978 chr_val_id FROM dual UNION
SELECT 1 item_id, 16978 chr_id, 797233 chr_val_id FROM dual UNION
SELECT 1 item_id, 13092 chr_id, 5666917 chr_val_id FROM dual UNION
SELECT 1 item_id, 15228 chr_id, 1209758 chr_val_id FROM dual UNION
SELECT 2 item_id, 112 chr_id, 12705342 chr_val_id FROM dual UNION
SELECT 2 item_id, 6945 chr_id, NULL chr_val_id FROM dual UNION
SELECT 2 item_id, 70 chr_id, 12597376 chr_val_id FROM dual UNION
SELECT 2 item_id, 16832 chr_id, NULL chr_val_id FROM dual UNION
SELECT 2 item_id, 7886 chr_id, 9588619 chr_val_id FROM dual UNION
SELECT 2 item_id, 6986 chr_id, 2659351 chr_val_id FROM dual UNION
SELECT 3 item_id, 9531 chr_id, 8910943 chr_val_id FROM dual UNION
SELECT 3 item_id, 9798 chr_id, 8717531 chr_val_id FROM dual UNION
SELECT 3 item_id, 17446 chr_id, 12266441 chr_val_id FROM dual UNION
SELECT 3 item_id, 4830 chr_id, 13683090 chr_val_id FROM dual UNION
SELECT 3 item_id, 9518 chr_id, 834772 chr_val_id FROM dual UNION
SELECT 3 item_id, 11031 chr_id, 20233753 chr_val_id FROM dual UNION
SELECT 3 item_id, 12564 chr_id, 2282478 chr_val_id FROM dual)
SELECT DISTINCT item_id
FROM t
MINUS
SELECT DISTINCT item_id
FROM t
WHERE chr_val_id IS NULLOr this:
SELECT item_id
FROM (SELECT item_id,
MIN(NVL(chr_val_id, -1)) min_chr_val_id
FROM t
GROUP BY item_id)
WHERE min_chr_val_id != -1Edited by: lee200 on Oct 15, 2012 9:22 AM -
Can anyone help with this query
create table customer(
customer_email varchar(100) not null
,cust_id int not null
,constraint pk__customer primary key clustered(cust_id)
Please help ASAP
create table purchase (
purchase_id int not null identity(1,1)
,cust_id int not null references customer(cust_id)
,product_name varchar(200) not null
,amount int not null
,constraint pk__purchase primary key clustered (purchase_id)
Write a query that returns one row per customer with the following columns. Don't forget about customers with no purchases.
customer_email
qty of purchase
sum of purchase amountHomework deadline looming?
This will work in versions of Oracle from 9 up, and in all versions of Sybase/ SQL Server (which you seem to wnat based on the CREATE TABLE syntax).
SELECT customer_email, COUNT(*) number_purchaes, SUM(amount) total_purchases
FROM customer c
LEFT OUTER JOIN purchases p ON c.cust_id = p.cust_id
GROUP BY customer_emailTTFN
John -
I need help with this program ( Calculating Pi using random numbers)
hi
please understand that I am not trying to ask anymore to do this hw for me. I am new to java and working on the assignment. below is the specification of this program:
Calculate PI using Random Numbers
In geometry the ratio of the circumference of a circle to its diameter is known as �. The value of � can be estimated from an infinite series of the form:
� / 4 = 1 - (1/3) + (1/5) - (1/7) + (1/9) - (1/11) + ...
There is another novel approach to calculate �. Imagine that you have a dart board that is 2 units square. It inscribes a circle of unit radius. The center of the circle coincides with the center of the square. Now imagine that you throw darts at that dart board randomly. Then the ratio of the number of darts that fall within the circle to the total number of darts thrown is the same as the ratio of the area of the circle to the area of the square dart board. The area of a circle with unit radius is just � square unit. The area of the dart board is 4 square units. The ratio of the area of the circle to the area of the square is � / 4.
To simuluate the throwing of darts we will use a random number generator. The Math class has a random() method that can be used. This method returns random numbers between 0.0 (inclusive) to 1.0 (exclusive). There is an even better random number generator that is provided the Random class. We will first create a Random object called randomGen. This random number generator needs a seed to get started. We will read the time from the System clock and use that as our seed.
Random randomGen = new Random ( System.currentTimeMillis() );
Imagine that the square dart board has a coordinate system attached to it. The upper right corner has coordinates ( 1.0, 1.0) and the lower left corner has coordinates ( -1.0, -1.0 ). It has sides that are 2 units long and its center (as well as the center of the inscribed circle) is at the origin.
A random point inside the dart board can be specified by its x and y coordinates. These values are generated using the random number generator. There is a method nextDouble() that will return a double between 0.0 (inclusive) and 1.0 (exclusive). But we need random numbers between -1.0 and +1.0. The way we achieve that is:
double xPos = (randomGen.nextDouble()) * 2 - 1.0;
double yPos = (randomGen.nextDouble()) * 2 - 1.0;
To determine if a point is inside the circle its distance from the center of the circle must be less than the radius of the circle. The distance of a point with coordinates ( xPos, yPos ) from the center is Math.sqrt ( xPos * xPos + yPos * yPos ). The radius of the circle is 1 unit.
The class that you will be writing will be called CalculatePI. It will have the following structure:
import java.util.*;
public class CalculatePI
public static boolean isInside ( double xPos, double yPos )
public static double computePI ( int numThrows )
public static void main ( String[] args )
In your method main() you want to experiment and see if the accuracy of PI increases with the number of throws on the dartboard. You will compare your result with the value given by Math.PI. The quantity Difference in the output is your calculated value of PI minus Math.PI. Use the following number of throws to run your experiment - 100, 1000, 10,000, and 100,000. You will call the method computePI() with these numbers as input parameters. Your output will be of the following form:
Computation of PI using Random Numbers
Number of throws = 100, Computed PI = ..., Difference = ...
Number of throws = 1000, Computed PI = ..., Difference = ...
Number of throws = 10000, Computed PI = ..., Difference = ...
Number of throws = 100000, Computed PI = ..., Difference = ...
* Difference = Computed PI - Math.PI
In the method computePI() you will simulate the throw of a dart by generating random numbers for the x and y coordinates. You will call the method isInside() to determine if the point is inside the circle or not. This you will do as many times as specified by the number of throws. You will keep a count of the number of times a dart landed inside the circle. That figure divided by the total number of throws is the ratio � / 4. The method computePI() will return the computed value of PI.
and below is what i have so far:
import java.util.*;
public class CalculatePI
public static boolean isInside ( double xPos, double yPos )
double distance = Math.sqrt( xPos * xPos + yPos * yPos );
public static double computePI ( int numThrows )
Random randomGen = new Random ( System.currentTimeMillis() );
double xPos = (randomGen.nextDouble()) * 2 - 1.0;
double yPos = (randomGen.nextDouble()) * 2 - 1.0;
int hits = 0;
int darts = 0;
int i = 0;
int areaSquare = 4 ;
while (i <= numThrows)
if (distance< 1)
hits = hits + 1;
if (distance <= areaSquare)
darts = darts + 1;
double PI = 4 * ( hits / darts );
i = i+1;
public static void main ( String[] args )
Scanner sc = new Scanner (System.in);
System.out.print ("Enter number of throws:");
int numThrows = sc.nextInt();
double Difference = PI - Math.PI;
System.out.println ("Number of throws = " + numThrows + ", Computed PI = " + PI + ", Difference = " + difference );
}when I tried to compile it says "cannot find variable 'distance' " in the while loop. but i thought i already declare that variable in the above method. Please give me some ideas to solve this problem and please check my program to see if there is any other mistakes.
Thanks a lot.You've declared a local variable, distance, in the method isInside(). The scope of this variable is limited to the method in which it is declared. There is no declaration for distance in computePI() and that is why the compiler gives you an error.
I won't check your entire program but I did notice that isInside() is declared to be a boolean method but doesn't return anything, let alone a boolean value. In fact, it doesn't even compute a boolean value. -
I received this errir msg when I wants to sync my 3gs iPhone. And I already update my iTunes to 64-bit. "This iPhone cannot be used because the required software is not installed.Run the iTunes installer to remove iTunes, then install the 64-bit version itunes".
First make sue you are installing the 64 bit version of iTunes.
Second make sure it is iTunes 10.7 or later.
I would download a fresh copy of the 64 bit version of iTunes 11. After installation reboot your computer.
Before connecting your phone reset your device. Press and hold the Home and Sleep buttons simultaneously ignoring the red slider should one appear until the Apple logo appears. Let go of the buttons and let the device restart. See if that fixes your problem. -
there was this time that I tried to use my facetime for a long time. Then after using it, it became very hot all over from the back till front. Then when I tried to open the camera function, it only went to the part where it shows the gray spiral covers without actually going to the actual camera then it went completely black and it went to home. The camera closes on its own now and i cant use it.
1. Double-click the Home button to reveal Task Bar at bottom
2. Hold the FaceTime/Camera app down for a second or two until you see the minus sign
3. Tap the minus sign to close app
4. Re-launch the app and test
Note: If necessary close all apps in the Task Bar -
Hello
If I run the following query I correctly get a sum of the invoices for a particular BP for Jan 09
SELECT T1.[SlpName], T0.[CardCode], SUM(CASE WHEN T2.[DocDate] BETWEEN '20090101' AND '20090131' THEN (T2.[DocTotal] - T2.[VatSum]) ELSE 0 END) AS 'JAN 09' FROM OCRD T0 INNER JOIN OSLP T1 ON T0.SlpCode = T1.SlpCode INNER JOIN OINV T2 ON T0.CardCode = T2.CardCode WHERE T0.[CardCode] = 'KEY065' GROUP BY T0.[CardCode], T1.[SlpName]
However I need the value of credit notes to be reflected in the figure so I amended the query to be:
SELECT T1.[SlpName], T0.[CardCode], SUM(CASE WHEN T2.[DocDate] BETWEEN '20090101' AND '20090131' THEN (T2.[DocTotal] - T2.[VatSum])ELSE 0 END) - SUM(CASE WHEN T3.[DocDate] BETWEEN '20090101' AND '20090131' THEN (T3.[DocTotal] - T3.[VatSum]) ELSE 0 END) AS 'JAN 09' FROM OCRD T0 INNER JOIN OSLP T1 ON T0.SlpCode = T1.SlpCode INNER JOIN OINV T2 ON T0.CardCode = T2.CardCode INNER JOIN ORIN T3 ON T0.CardCode = T3.CardCode WHERE T0.[CardCode] = 'KEY065' GROUP BY T0.[CardCode], T1.[SlpName]
When I run this query the output is incorrect ................ Is the fault to do with my JOINS?
ThanksHi Just to clarify
This query, which just totals any invoices for a BP for January, correctly returns a value of £9660.44 :
SELECT T1.[SlpName], T0.[CardCode], SUM(CASE WHEN T2.[DocDate] BETWEEN '20090101' AND '20090131' THEN (T2.[DocTotal] - T2.[VatSum]) ELSE 0 END) AS 'JAN 09' FROM OCRD T0 INNER JOIN OSLP T1 ON T0.SlpCode = T1.SlpCode INNER JOIN OINV T2 ON T0.CardCode = T2.CardCode WHERE T0.[CardCode] = 'KEY065' GROUP BY T0.[CardCode], T1.[SlpName]
This next query, which just totals any credit notes for a BP in January, correctly returns a value of £567.73 :
SELECT T1.[SlpName], T0.[CardCode], SUM(CASE WHEN T3.[DocDate] BETWEEN '20090101' AND '20090131' THEN (T3.[DocTotal] - T3.[VatSum]) ELSE 0 END) AS 'JAN 09' FROM OCRD T0 INNER JOIN OSLP T1 ON T0.SlpCode = T1.SlpCode INNER JOIN ORIN T3 ON T0.CardCode = T3.CardCode WHERE T0.[CardCode] = 'KEY065' GROUP BY T0.[CardCode], T1.[SlpName]
I want a query which return a value of 9660.44 minus 567.73 (ie £9092.71)
My original effort at this returned -£82,608.65 !!!!!!!!!
and Gordon's amended version returned -£40,281.74 !!!!!
Thanks for your patience
Steve -
Hi,
I am using SQL Server 2008 Enterprise edition 64 bit on Windows serer 2008 enterprise edition 64 bit.
The below query works fine. I am trying to rewrite the code without using the sub query. In the end i should get the same results for both the query which we are going to rewrite and the below mentioned query.
Can any help me please.
SELECT
t1.DOCUMENT_NO,
RTRIM(CAST(t1."ENVIRONMENT_CD" AS VARCHAR(5))) + '*' + RTRIM(CAST(t1."ORDER_NO" AS VARCHAR(25)))
+
CASE WHEN (SELECT COUNT(DISTINCT S1.TEST_REPORTING_MATERIAL_SID)
FROM dbo.TBLTEST S1 ON S1.DOCUMENT_NO = T1.DOCUMENT_NO
WHERE S1.TEST_REPORTING_MATERIAL_SID > 0
AND S1.COMPANY_CD = T1.COMPANY_CD AND S1.INVOICE_SEQ_NO = T1.INVOICE_SEQ_NO
AND S1.DOCUMENT_ITEM_NO = T1.DOCUMENT_ITEM_NO
AND S1.ORDER_NO = T1.ORDER_NO) > 1 THEN
RTRIM(CAST(t1."TEST_REPORTING_MATERIAL_SID" AS VARCHAR(10)))
ELSE
END as sum_key,
t1.SALES_ANALYSIS_CD
FROM
dbo.TBLTEST_ALL T1
WHERE
t1.TIME_SID >= 20001001 ;
I tried to use a left outer Join , it did not work out. I tried to take the subquery and assign it to a variable and use in the above mentioned query. But i am not getting the same results.
I don't want to use the above query so i am planning to rewrite the code.
Thank You,I doubt that the query you posted works fine, because:
FROM dbo.TBLTEST S1 ON S1.DOCUMENT_NO = T1.DOCUMENT_NO
This is a syntax error. I will have to assume that your inteded query reads:
SELECT t1.DOCUMENT_NO,
rtrim(cast(t1."ENVIRONMENT_CD" AS varchar(5))) + '*' +
rtrim(cast(t1."ORDER_NO" AS varchar(25))) +
CASE WHEN (SELECT COUNT(DISTINCT S1.TEST_REPORTING_MATERIAL_SID)
FROM dbo.TBLTEST S1
WHERE S1.DOCUMENT_NO = T1.DOCUMENT_NO
AND S1.TEST_REPORTING_MATERIAL_SID > 0
AND S1.COMPANY_CD = T1.COMPANY_CD
AND S1.INVOICE_SEQ_NO = T1.INVOICE_SEQ_NO
AND S1.DOCUMENT_ITEM_NO = T1.DOCUMENT_ITEM_NO
AND S1.ORDER_NO = T1.ORDER_NO) > 1 THEN
RTRIM(CAST(t1."TEST_REPORTING_MATERIAL_SID" AS VARCHAR(10)))
ELSE '*-'
END as sum_key, t1.SALES_ANALYSIS_CD
FROM dbo.TBLTEST_ALL T1
WHERE t1.TIME_SID >= 20001001
Here is a query with a left join. Whether it is actually better than the one you have I am not sure.
SELECT t1.DOCUMENT_NO,
rtrim(cast(t1."ENVIRONMENT_CD" AS varchar(5))) + '*' +
rtrim(cast(t1."ORDER_NO" AS varchar(25))) +
CASE WHEN S1."EXISTS" IS NOT NULL
THEN RTRIM(CAST(t1."TEST_REPORTING_MATERIAL_SID" AS varchar(10)))
ELSE '*-'
END as sum_key, t1.SALES_ANALYSIS_CD
FROM dbo.TBLTEST_ALL T1
LEFT JOIN (SELECT 1 AS "EXISTS"
FROM dbo.TBLTEST
WHERE TEST_REPORTING_MATERIAL_SID > 0
GROUP BY DOCUMENT_NO, COMPANY_CD, INVOICE_SEQ_NO,
DOCUMENT_ITEM_NO, ORDER_NO
HAVING COUNT(DISTINCT TEST_REPORTING_MATERIAL_SID) > 1) AS S1
ON S1.DOCUMENT_NO = T1.DOCUMENT_NO
AND S1.COMPANY_CD = T1.COMPANY_CD
AND S1.INVOICE_SEQ_NO = T1.INVOICE_SEQ_NO
AND S1.DOCUMENT_ITEM_NO = T1.DOCUMENT_ITEM_NO
AND S1.ORDER_NO = T1.ORDER_NO
WHERE t1.TIME_SID >= 20001001
Erland Sommarskog, SQL Server MVP, [email protected] -
SQL I need help with this query Please help
List the names of all the products whose weight unit measure is “Gram”. Order the list by product name. Do not use JOINS, but use the IN clause with a sub-query.
select Name
from UnitMeasure
where Name= 'Gram'
order by Name
I did this, but it seem that the requirement is different.As a guess:
Select Name from Product
where UnitMeasure in (Select Name from unitmeasure where name = 'Gram')
Andy Tauber
Data Architect
The Vancouver Clinic
Website | LinkedIn
This posting is provided "AS IS" with no warranties, and confers no rights. Please remember to click
"Mark as Answer" and "Vote as Helpful" on posts that help you. This can be beneficial to other community members reading the thread. -
The tables are very large...
select a.number
from transaction a,
contr c,
directory b
where EXISTS ( SELECT 1
FROM contr D
WHERE D.CSSTATCHNG LIKE '%a'
AND D.SNCODE IN (3386, 3387)
AND D.COID = C.COID)
AND C.CSSTATCHNG LIKE '%a'
AND b.dnid = c.dnid
and a.snumber = b.dnnum
AND a.CDATE = SYSDATE - 90
AND ROWNUM <= 10
I only need 10 rows.
Note: I use Oracle 8.1.7
Thanks!You really should analyze, even if you use a fairly small sample percent, it is usually better than no analyzing.
If the tables are large, you may want to try rephrasing the EXISTS as an IN, something like:
SELECT a.number
FROM transaction a, contr c, directory b
WHERE b.dnid = c.dnid and
a.snumber = b.dnnum AND
c.coid IN (SELECT coid
FROM contr d
WHERE d.csstatchng LIKE '%a' AND
d.sncode IN (3386, 3387)) AND
c.csstatchng LIKE '%a' AND
a.CDATE = SYSDATE - 90 AND
ROWNUM <= 10or perhaps as a join to an in-line view like:
SELECT a.number
FROM transaction a, contr c, directory b,
(SELECT coid FROM contr
WHERE csstatchng LIKE '%a' AND
sncode IN (3386, 3387)) d
WHERE b.dnid = c.dnid and
a.snumber = b.dnnum AND
c.coid = d.coid AND
c.csstatchng LIKE '%a' AND
a.CDATE = SYSDATE - 90 AND
ROWNUM <= 10Although, I can't help feeling that you cuold skip that bit altogether and simply do:
SELECT a.number
FROM transaction a, contr c, directory b
WHERE b.dnid = c.dnid and
a.snumber = b.dnnum AND
c.sncode IN (3386, 3387) AND
c.csstatchng LIKE '%a' AND
a.CDATE = SYSDATE - 90 AND
ROWNUM <= 10HTH
John
Maybe you are looking for
-
I can't verify my icloud account because the email associated with it got deleted in a messup by the email provider. I made a new ID with another email address, but I don't seem to know how to set it as my iCloud account. Apple insist on asking me a
-
Have windows Xp/SP-3/IE8. Have problem in installing 11.1.102.62. Would appreciate suggestions to resolve the problem.
-
How do I access objects from the original Thread?
I have this simple JApplet that just makes a circle bounce around the screen. Here it is: import java.awt.Color; import javax.swing.JApplet; import java.awt.Graphics; import java.awt.event.MouseListener; import java.awt.event.MouseEvent; public class
-
please refer to above question
-
How do you mail merge in Pages 5.1?
How do you mail merge in Pages 5.1?