我有一張桌子id sentUID recUID Amount1 1 2 1002 2 1 1003 4 2 1004 2 1 1005 8 6 1006 2 9 100我想像這樣獲得 userID 2 記錄id sentUID recUID Amount1 1 2 1003 4 2 1006 2 9 100只有三個 UserID 1、4、9 發(fā)送或接收金額。
2 回答

HUH函數(shù)
TA貢獻1836條經(jīng)驗 獲得超4個贊
試試這個:
SELECT * FROM data WHERE id IN
(SELECT tab1.mId FROM
(SELECT MIN(id) as mId, CASE WHEN sentUID=2 THEN recUID
WHEN recUID=2 THEN sentUID
END AS person
FROM data WHERE recUID=2 OR sentUID=2
GROUP BY person)
AS tab1);
結(jié)果:
id sentUID recUID Amount
1 1 2 100
3 4 2 100
6 2 9 100
中間表tab1列出了以 2 出現(xiàn)的每個唯一 UID,用于計算最終結(jié)果:
mId person
1 1
3 4
6 9
http://sqlfiddle.com/#!9/16f6a5/13/0
- 2 回答
- 0 關(guān)注
- 133 瀏覽
添加回答
舉報
0/150
提交
取消