我有一個「轉移」表有「量」列...的「轉移」表的結構看起來像這樣Mysql的另一個表中篩選數據的範圍
--------------------------------------------------------
| id | from_account_id | to_account_id | date | amount |
--------------------------------------------------------
還有更實際的列但上述這些列與我的問題
現在我還有一個表,讓我們說「promo_dtl」表,顯示申請交易目前茂德..表看起來像這樣
-------------------------------------------------------------------
| id | promo_id | min_amount_trx | max_amount_trx | cashback_type | cashback_value | max_cashback_value |
01最相關現在我要做的是,我想從「轉移」表來查詢,通過
min_amount_trx
,並從「promo_dtl」表
max_amount_trx
範圍內對其進行篩選..
編輯: 例如,有2條記錄在「promo_dtl」表,具有相同promo_id
值..第一行有min_amount_trx
100和max_amount_trx
1000 ..和第二有min_amount_trx
5000和
,所以我想找到交易金額爲1000 100之間的記錄和5000至10000之間
我想這簡單的查詢
select * from transfers trf
where trf.amount
between (select min_amount_trx from promo_dtl where promo_id = 1)
and (select max_amount_trx from promo_dtl where promo_id = 1)
;
但是這是我從上面的查詢得到
Error Code: 1242. Subquery returns more than 1 row
那麼我該如何正確獲取數據?我必須使用連接嗎?如果是這樣,任何人都可以幫助我嗎?感謝:d
添加一些示例表數據以及預期的結果 - 所有以及格式化文本(即無圖像或鏈接。) – jarlh
Error意味着SubQuery應該返回1行,所以如果我理解你的意思,它看起來像在你使用的子查詢中,你必須'Select MIN(min_amount_trx)'和'Select MAX(max_amount_trx)' –
你需要將單行值傳遞給query valeu。但你的子查詢會重新調整多行。所以這是拋出錯誤。 – JYoThI