我被困在這個很長時間。我不知道爲什麼我的卡表替換爲0。無法取得卡的替換
問我朋友的幫助,他們告訴我這是加入卡表。
QQn:在給定期限內(以包括兩個給定日期爲限),例如2002年12月1日至2003年7月31日,找出在規定的時間內至少有一張EZ連結卡的人。
中的每個人設定,列出
(一)業主身份證,
(II)總數在 期間發表了他/她的卡,
(三)由 擁有者僅限於在給定期間內發行的卡所做的卡替換總數(至當前日期)。
按照業主身份證的升序列出您的結果。例如,人員S1111111具有5張卡片C1(2001年1月2日發行),C2(2002年12月11日發行),C3(2003年7月20日發行,作爲C1的替代版本),C4(7月21日發行)作爲C2的替代物)和C5(2012年8月2日作爲C4的替代物發佈)。
我已經解決了第一部分和第二部分,但無法解決iii。
這裏是我的查詢:得到這個信息
create table card
(
CardID int not null primary key,
OwnerNRIC char(9),
IssuedDcardate date,
StoredValue decimal (5,2),
OldCardID int,
constraint card_fk foreign key (OldCardID) references card(CardID)
);
SELECT ownerNRIC AS NRIC,
COUNT(ownerNRIC) AS Total_Cards_Issued_during_Period,
COUNT(OldCardID) AS Total_Replacement_till_date_for_cards_issued_during_Period
FROM card
WHERE IssuedDcardate BETWEEN '2002-12-01' AND '2003-07-31'
GROUP BY ownerNRIC;
什麼構成替換?如果它是'OldCardID IS NOT NULL',那麼你的查詢應該工作。 – 2013-03-22 13:11:45