से लौटाई गई है, मैं केवल आंतरिक पंक्ति से पहली पंक्ति वापस करना चाहता हूं।केवल एक पंक्ति की आवश्यकता है INNER JOIN
SELECT a.id,
c.id,
d.id,
e.id,
d.CREATIONDATE,
a.REFNUMBER,
a.DATECREATED,
a.DESCRIPTION,
e.CATEGORYCODE,
e.OUTSTANDINGAM_MONAMT,
e.PREVPAIDAMOUN_MONAMT,
e.TOTALINCURRED_MONAMT,
e.LOSSFROMDATE,
FROM
TABLE_A a
INNER JOIN TABLE_B b ON (b.id = a.id)
INNER JOIN TABLE_C c ON (c.id = b.id)
INNER JOIN TABLE_D d ON
(
c.i =
(
select
d.id
FROM TABLE_D
WHERE TABLE_D.id = c.id
AND TABLE_D.id =
(
select
max(id)
from TABLE_D t1
where c_id = c.id
and CREATIONDATE =
(
select
max(CREATIONDATE)
from TABLE_D t2
where t2.c_id = t1.c_id
)
)
)
)
INNER JOIN TABLE_E e ON
(
d.i =
(
select
e.d_id
from TABLE_E
where d_id = d.id
AND id =
(
select
max(id)
from e t1
where e.d_id = d.id
and CREATIONDATE =
(
select
max(CREATIONDATE)
from TABLE_E t2
where t2.d_id = t1.d_id
)
)
)
)
: उदाहरण के लिए, टेबल Y में
TABLE_X | TABLE_Y
id | id creationdate xid
1 | 1 01/01/2011 1
2 | 2 01/01/2011 1
3 | 3 31/12/2010 2
4 | 4 28/12/2010 3
पंक्तियाँ समान रचना तो मैं पहले इस सेट से मैक्स (creationdate) और फिर उसके बाद मैक्स (आईडी) हो रही है तारीखें हो सकता है: मैं दो तालिकाओं है
यह काम करता है जब मैं इसे के दम पर इसे कहते लेकिन जब मैं यह एक आंतरिक में जोड़ने में शामिल हों मैं मेज वाई में प्रत्येक मिलान पंक्ति के लिए एक पंक्ति हो रही है
क्या मैं चाहता हूँ जहाँ XID creationdate और आईडी से नवीनतम रिकॉर्ड है = आईडी TABLE_X से।
क्या आप हमें आंतरिक शामिल होने पर अपना प्रयास दिखा सकते हैं? –
मार्सेलो ने क्या कहा। समस्या शायद जॉइन में ही है। क्या आप आईडी या MAX (आईडी) पर शामिल हो रहे हैं, उदाहरण के लिए? –
MAX (आईडी) - एक्स या वाई से आईडी कॉलम है? –