[英]SQL - Use result of one query for second query
假設我有一張桌子付款。
ID | Amount | Date | Reference
1 | 10 | 2020-09-01 | 911
然后我有一個表registered_payments。
ID | Amount | Date | Note | Bank Reference
1 | 10 | 2020-09-01 | 911aa | 000001
2 | 10 | 2020-09-05 | 123vv | 000002
3 | 10 | 2020-09-07 | 555ss | 000003
然后我們有表bank_payments。
ID | Amount | Date | Bank Reference | Bank ID
1 | 10 | 2020-09-01 | 000001 | 44
2 | 10 | 2020-09-05 | 000002 | 33
3 | 10 | 2020-09-07 | 000003 | 22
然后我有一個查詢:
WITH cte AS(
SELECT amount,
date,
reference
FROM
payments
WHERE
ID = 1
)
SELECT
*
FROM
registered_payments
WHERE
amount = (SELECT amount FROM tmp)
AND date = (SELECT date FROM tmp)
AND note ilike '%' || (SELECT amount FROM tmp) || '%';
我需要顯示這個查詢的結果(不是問題)。
但是我可以在另一個查詢中使用結果(總是 1 條記錄)中的銀行參考並以某種方式在 bank_payments 中搜索付款嗎?
我只有閱讀權限。 無法創建任何函數或表。 使用了 PSQL。
感謝您的幫助。
如果我正確地跟隨您,您可以將邏輯展平為簡單的連接:
select ... -- enumerate the columns you want here
from payments p
inner join registered_payments rp
on rp.amount = p.amount
and rp.date = p.date
and rp.note ilike '%' || p.reference || '%'
inner join bank_payments bp
on bp.amount = rp.amount
and bp.date = rp.date
and bp.bank_reference = rp.bank_reference
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.