我目前正在設計一個發票系統,其中發票可以分配給單獨的項目。發票只能分配給一個項目。在mysql查詢中計算訂單位置
目前我有一個mysql表格,我想查詢發票號碼,檢索發票的各個項目的所有發票,按創建日期排序,然後(這是我卡住的位根據我將查詢的發票號碼,計算髮票超出該項目總髮票的數量。
要添加一些清晰度我指的是以下
URN_ID URN_Project_ID URN_Date
1 1 2012-03-17
2 3 2012-03-18
3 2 2012-03-21
4 1 2012-03-21
5 2 2012-04-05
6 1 2012-04-08
7 3 2012-04-15
8 2 2012-04-24
9 1 2012-05-02
10 3 2012-05-10
比方說,我有發票號碼查詢6,因此該項目是項目1。從本質上說,我將縮小信息下列
URN_ID URN_Project_ID URN_Date
1 1 2012-03-17
4 1 2012-03-21
6 1 2012-04-08
9 1 2012-05-02
我們可以從上面看到,我總共有4張發票,但是我想要一種方式來退回那張發票6是3號發票4張發票。這樣做的目的在於,如果將來有人打印複印發票,查看該發票的人很清楚該項目上的發票3。最後,我不需要詳細說明我的文檔上的發票總數,而只是總數中的位置。
任何與此有關的幫助將非常感謝,因爲我一直在大部分時間都在尋找一種解決方案,我可以拼湊在一起無濟於事。作爲回退,我總是可以在我的表中添加另一列,並在輸入階段執行mysql計數,然後將總數添加到列中,但我寧願學習新的東西並將表格保持在最小值。
在此先感謝您提供任何解決方案或幫助。
艾倫
編輯
確定一些額外的信息。
- 我的表,我從被稱爲拉動數據:甕
- 目前我的表有5列,分別爲URN_ID,URN_PROJECT_ID,URN_Date,URN_Due_Terms,URN_Doc_Type
注:我已經更新了列數據之上,以反映我的實際列名
到目前爲止,我曾嘗試:
$query2 = "SELECT @curRow := @curRow + 1 AS row_number, iv.* FROM urn iv JOIN (SELECT @curRow := 0) r WHERE iv.URN_Project_ID='$urn_project_id'";
$res2 = mysql_query($query2);
$data2 = mysql_fetch_array($res2);
echo $data2['row_number'];
但是,這僅無論返回值1,其中URN_ID我已經顯示出來。
我沒有使用@ sign的語句的真正知識,因此我不知道如何調試它。
任何幫助都會很好。
乾杯。 Al。
向我們展示您的查詢!發票的編號取決於您在哪個欄目中訂購結果... – Kjir
難道你不能在申請表中追加職位嗎?在輸出步驟中做到這一點更容易和更簡潔 – zerkms