2 つのテーブルを用意します。
CREATE TABLE IF NOT EXISTS `issue_details` (
`id` INT NOT NULL AUTO_INCREMENT ,
amt_offer_dlr INT NOT NULL DEFAULT 9999 COMMENT '564,510,000',
maturity DATE NOT NULL DEFAULT '1111-11-11' COMMENT '06/28/2012' ,
fk_cusip6 VARCHAR(6) NOT NULL DEFAULT '' COMMENT '' ,
PRIMARY KEY (id),
CONSTRAINT con_issue_details__issuers FOREIGN KEY (fk_cusip6) REFERENCES issuers (fk_cusip6) ON DELETE NO ACTION ON UPDATE CASCADE
)
ENGINE = InnoDB;
CREATE TABLE IF NOT EXISTS `identifiers` (
id INT NOT NULL AUTO_INCREMENT ,
fk_cusip6 VARCHAR(6) NOT NULL DEFAULT 'NA' ,
PRIMARY KEY (id) ,
CONSTRAINT con_ident__cusip6 FOREIGN KEY (fk_cusip6) REFERENCES cusip_6 (cusip6) ON DELETE NO ACTION ON UPDATE CASCADE ,
)
COMMENT ''
ENGINE = InnoDB;
issue_details テーブル: 注: 各 ID は異なり、複数の同一の fk_cusip6 番号を持つことができます
+-----+--------------+------------+----------------+
| id | maturity | fk_cusip6 | amt_offer_dlr |
+-----+--------------+------------+----------------+
| 1 | 2013-06-28 | 567090 | 1000 |
| 2 | 2014-06-05 | 567090 | 1000 |
| 3 | 2013-06-05 | 567100 | 2500 |
| 3 | 2014-06-05 | 567100 | 2500 |
+-----+--------------+------------+----------------+
識別子テーブル: 注: fk_cusip6 番号はそれぞれ異なります
+--------+-----------+
| id | fk_cusip6 |
+--------+-----------+
| 131472 | 567090 |
| 131473 | 567100 |
+--------+-----------+
ID テーブルの fk_cusip6 の各インスタンスに一致するクエリを生成し、issue_details テーブルに同じ fk_cusip6 を持つすべてのインスタンスの amt_offer_dlr を合計する必要があります。最終結果は次のようになります。
+--------------+---------+------------------------+
| ide.id | isd.fk_cusip6 | SUM(isd.Amt_Offer_Dlr |
+--------------+---------+------------------------+
| 131472 | 567090 | 2000 |
| 131473 | 567100 | 5000 |
+--------------+---------+------------------------+
私は試した:
SELECT CURRENT_DATE, FORMAT(SUM(isd.Amt_Offer_Dlr),0) 'Current Out Standing Debt:'
from muni.issue_details isd
INNER JOIN identifiers ide ON ide.fk_cusip6 = isd.fk_cusip6 AND isd.fk_cusip6 = '567541'
where isd.maturity > CURRENT_DATE
;
これは、すべての列を合計しています。
サブクエリが必要だと思いますが、詳細にこだわっています。
ありがとう