私のこのクエリは、shipwynum 151513 の resale テーブルから 6 つのレコードを取得します: -
select re.recdat,
re.resaleid,
IF (re.benownsal != '', owsal.ownshortnam, if ((re.grptypsal != '' &&
re.bogrpidsal != ''), if (bosal.bogrpshort != '', bosal.bogrpshort,
bosal.bogrpnam), cou1.nation)) as seller,
IF (re.benownpur != '', owpur.ownshortnam, if ((re.grptyppur != '' &&
re.bogrpidpur != ''), if (bopur.bogrpshort != '', bopur.bogrpshort,
bopur.bogrpnam), cou.nation)) as buyer,
re.benownpur,
re.grptyppur,
re.bogrpidpur,
re.statuscod,
re.showinob,
re.benownsal,
re.grptypsal,
re.bogrpidsal
from resale as re
left join owner as owpur on owpur.ownwynum = re.benownpur
left join owner as owsal on owsal.ownwynum = re.benownsal
left join bogroup as bopur on bopur.bogrpid = re.bogrpidpur
left join bogroup as bosal on bosal.bogrpid = re.bogrpidsal
left join country as cou on cou.coucod = re.buynation
left join country as cou1 on cou1.coucod = re.selnation
where re.shipwynum = '151513' and
re.deleted = 'N'
order by re.saltyp desc,
re.recdat
ここでは、shipwnum 15153 の上記のクエリから取得したサンプル データのスクリーン ショットを追加しました。
limit 句
LIMIT 1
を追加すると、期待した最初の 1 つのレコードが取得されます。しかし、shipwynum = 151513 を持つ 1 つの船のみです。すべての船について最初に 1 つのレコードを取得したいと考えています。
すべての船についてそのような記録を取得するために私が行う変更.
どんな助けでも大歓迎です。
ありがとう。