[英]Select Between Two Dates and from Two Tables in PHP and MySQL
請我在下面的查詢中需要有關正確查詢的幫助...
SELECT
compute_num,
SUM(`shar_cr`) AS shar,
SUM(`thri_cr`) AS thri,
SUM(`vol_cr`) AS volun
FROM `member_transacting`
WHERE date BETWEEN '$from_date' AND '$end_date'
RIGHT JOIN regist_members ON member_transacting.compute_num=regist_members.m_compute_num
ORDER BY date DESC
基本上,我想選擇兩個日期之間數據庫表中的值的總和。 同時,我還想使用他們的公共標識符(在本例中是他們的計算機編號)從注冊成員表中獲取相同的用戶信息。
預期結果
我希望能夠從 member_transacting 表中獲取值的總和,並從 regist_members 表中獲取成員姓名和電話號碼。
我已經在 phpmyadmin 上嘗試了上述查詢,但沒有奏效。 相反,它拋出錯誤,即查詢錯誤。 請幫忙。
我到目前為止的進展 以下來自 Abronsius 教授指南的代碼對我有用
我只需要通過添加 GROUP BY 來調整它,並從 regist_members 表中請求特定字段(全名)
SELECT t.compute_num,
m.full_name,
SUM( t.`shar_cr`) AS shar,
SUM( t.`thri_cr`) AS thri,
SUM( t.`vol_cr`) AS volun
FROM `member_trans` t
JOIN `regist_members` m ON t.`compute_num`=m.`m_computer_no`
WHERE t.`date` BETWEEN '$from_date' AND '$end_date' GROUP BY t.`compute_num` ORDER BY t.`date` DESC
即使上面的代碼已經給了我大約 90% 我想要的東西,我還不能把它作為答案發布,因為我仍然需要一點幫助才能讓它完美。
我需要的幫助
假設上面的代碼運行良好; 它從兩個表中獲取所需的結果; 但是如果我一次從regist_members 表(例如m.full_name、m.member_bank_name)請求多個數據,它就不起作用。 只有當我保留上面的代碼時它才有效。 它不允許我請求比上面代碼中更多的數據。 請有人指導。
我認為你需要GROUP BY
在這里:
SELECT
`member_transacting`.`compute_num`,
SUM(`shar_cr`) AS shar,
SUM(`thri_cr`) AS thri,
SUM(`vol_cr`) AS volun
FROM `member_transacting`
WHERE `date` BETWEEN '$from_date' AND '$end_date'
JOIN `regist_members`
ON `member_transacting`.`compute_num` = `regist_members`.`m_compute_num`
GOUP BY `member_transacting`.`compute_num`
ORDER BY `member_transacting`.`compute_num` DESC
最后,我能夠從下面的代碼中得到我想要的確切結果......
SELECT t.compute_num,
m.full_name,
SUM( t.`shar_cr`) AS shar,
SUM( t.`thri_cr`) AS thri,
SUM( t.`vol_cr`) AS volun,
m.member_bank AS bank_name,
m.member_account AS account_no
FROM `member_trans` t
JOIN `regist_members` m ON t.`compute_num`=m.`m_computer_no`
WHERE t.`date` BETWEEN '$from_date' AND '$end_date' GROUP BY t.`compute_num` ORDER BY t.`date` DESC
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.