0

繰り返しになりますが、Mysql の専門家が Mysql ステートメントについて私を助けてくれませんか? 私が持っているもの:外部キーuseridとbalanceIDに接続された2つのテーブルここに画像の説明を入力

必要なもの: 行を見つける必要があります。これは、債務の最大値とローンの最小値です。このステートメントから期待するのは、たとえば、最高額の債務と最低額のローン (1 行) を見つけることです:行 name2 | 200 | 40.それは可能ですか? 調査を行い、解決策を見つけることができませんでした。

4

2 に答える 2

1

最小限のデータセットに基づく推測ですが、おそらく次のようなものです。

select top 1 balanceID, balance, debt, loan
from Balance
order by debt - loan desc

グループ化する場合はUserID、次のようになります。

select b.balanceID, b.balance, b.debt, b.loan
from Balance b
inner join (
    select UserID, max(debt - loan) as MaxDebt
    from Balance
    group by UserID
) bm on b.UserID = bm.UserID and (b.debt - b.loan) = MaxDebt
于 2012-09-25T15:38:10.480 に答える
0

JOIN次のように、2番目のテーブルからのみ最小ローンと最大残高の2つのテーブルを作成できます。

SELECT u.name, t.balance, t.loan
FROM users u 
INNER JOIN
(
    SELECT *
    FROM table2 
    WHERE balance = (SELECT MAX(balance) FROM table2)
      AND debt    = (SELECT MIN(loan) FROM table2) 
 ) t ON -- JOIN condition
于 2012-09-25T15:37:43.920 に答える