我有2個表,我目前正在使用。客戶表和他們擁有的發薪日貸款表。MySQL查詢來計算查詢中2層深的記錄數
我寫的查詢需要得到客戶的數量與貸款餘額如下:
SELECT * FROM tblcustomer
WHERE pkcustomerid IN
(SELECT fkcustomerid
FROM
(SELECT * FROM tblloan
WHERE outstandingcurrentamount!="NULL") AS T)
如果他們有一個優秀的量不是NULL或這將返回客戶數據的列表0。現在我需要循環這個結果並對每個客戶執行個別查詢以獲得所有貸款。但我只需要點數。
有沒有辦法以某種方式將額外的列添加到查詢返回的數據,該數據是該客戶的貸款數量?
表結構的相關部分:
CREATE TABLE IF NOT EXISTS `tblcustomer` (
`pkcustomerid` bigint(20) NOT NULL AUTO_INCREMENT,
`fkuserid` int(11) NOT NULL,
`fkstoreid` int(11) NOT NULL,
`fkcompanyid` int(11) NOT NULL,
`fkstaticid` varchar(255) NOT NULL,
...snip...
PRIMARY KEY (`pkcustomerid`,`fkcountryid`,`fkcityid`,`fkstateid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=821 ;
CREATE TABLE IF NOT EXISTS `tblloan` (
`pkloanid` int(11) NOT NULL AUTO_INCREMENT,
`fkuserid` int(11) NOT NULL,
`fkcustomerid` int(11) NOT NULL,
`fkstoreid` int(11) NOT NULL,
`outstandingcurrentamount` double NOT NULL
...snip...
PRIMARY KEY (`pkloanid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1567 ;
您實際上並沒有將關鍵字'NULL'作爲字符串存儲在'outstandingcurrentamount'(否則將是數字?)列中,是嗎? –
請爲這兩個表中的每一個發佈「CREATE TABLE」語句。 –
沒有它的數據庫分配的默認NULL。但出於某種原因,執行outstandingcurrentamount> = 0將返回所有記錄 – user1992522