Reputation: 69
I have 4 tables : T1,T2,T3,T4
--T1:
Info_Id | fname | lname
101 | rol | lum
--T2:
Acc_id | acc_info_id | acc_property
01 | 101 | land
--T3:
Bill_id | status | amt_2_paid | Acc_id
123 | UNPAID | 200 | 01
--T4:
Accnt_bill | OR | Acc_id
123 | 01234 | 01
I have two sub queries, shown below:
SELECT
fname,
lname
FROM T1
WHERE Info_id IN(SELECT Acc_id FROM T2 WHERE acc_info_id = '01234')
The first sub query displays only fname
and lname
:
SELECT
status,
amt_2_paid
FROM T3
WHERE Bill_id IN(SELECT Accnt_id FROM t4 WHERE OR = '01234')
The second subquery displays only status
and amt_2_paid
:
My question is how to join two sub queries in order to display the value of fname
, name
, status
, and amt_2_paid
when I input the OR no.
Upvotes: 1
Views: 1133
Reputation: 47
SELECT
t1.fname,
t1.lname,
t3.status,
t3.amt_2_paid
FROM
t1
INNER JOIN t2 on t1.info_id = t2.acc_info_id
INNER JOIN t3 on t2.acc_id = t3.acc_id
INNER JOIN t4 on t3.bill_id = t4.accnt_bill
WHERE
t4.[or] = '01234'
Upvotes: 0
Reputation: 2016
Just combine all your tables with one query using INNER JOIN
. See below:
SELECT
T1.fname,
T1.lname,
T3.status,
T3.amt_2_paid
FROM T1
INNER JOIN T2 ON T1.Info_id=T2.acc_info_id
INNER JOIN T3 ON T2.Acc_id=T3.Acc_id
INNER JOIN T4 ON T3. Bill_id=T4.Accnt_bill
WHERE T4.[OR] ='01234'
Upvotes: 2
Reputation: 415600
SELECT fname, name, status,amt_2_paid
FROM T3
INNER JOIN t4 ON t3.Bill_id = t4.Accnt_bill
INNER JOIN t2 ON t2.Acc_id = t3.Acc_id
INNER JOIN t1 ON t1.Info_id = t2.Info_Id
WHERE t4."OR" = '01234'
Upvotes: 0