我在互聯網上找遍了所有的資料,但我沒能讓這個查詢按預期運行。 我有一個發票表,一些發票是相互關聯的,因為它們屬于同一個專案。
我的票據說我必須根據提供的發票獲得前一張發票。 假設專案A有10張發票,而我正在查看第4張發票,我必須寫一個查詢,它將回傳前一張發票的ID。請記住,發票表是各種專案的家,而每個專案本身可能有許多發票,所以我想避免得到許多ID,然后在它們上面進行迭代。
為了說明這個問題,我撰寫了這個fiddle。 當我不對 steps.id 進行過濾時,它的效果還算可以接受,但這意味著要回傳數百個 ID 進行篩選。 我試了又試,但我似乎無法讓列previousStep與ID列系結。
uj5u.com熱心網友回復:
簡單地找到同一專案的下一個最大id的發票:
SELECT inv2.id
FROM發票 AS inv1
JOIN 發票 AS inv2
ON inv1.project = inv2.project AND inv1.id >/span> inv2.id
WHERE inv1.id = 1057638[/span]。
ORDER BY inv2.id DESC
LIMIT 1;
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/307991.html
標籤:
