- Tham gia
- 4/6/06
- Bài viết
- 901
- Được thích
- 2,717
Gửi mọi người,
kyo có một vấn đề muốn nhờ mọi người giúp đỡ. kyo có 2 bảng dữ liệu như sau:
Bảng 1: bao gồm 3 cột LINE, STARTDATE và MOLD

Bảng 2: bao gồm rất nhiều cột thông tin khác, nhìn chung cũng có LINE và PRODDATE. Và bảng này là bảng có rất đầy đủ các thông tin các ngày (từ ngày 22/6 đến ngày 12/7)
Bài toán kyo muốn giải quyết là các giá trị MOLD của bảng 1 sẽ điền khuyết vào bảng 2 sau khi kyo inner join (để tạo ra bảng 3) với LINE = LINE và STARTDATE < = PRODDATE. Cụ thể là ví dụ, trong phạm vi từ ngày 22 đến 26, thông tin của bảng 3 với giá trị MOLD là A, sau đó ngày 27 thì bảng 3 điền giá trị C và ngày 28 trở đi đến ngày 12/7 sẽ điền giá trị là JA.
kyo làm câu lệnh như sau:
Tuy nhiên kết quả sau cùng thì nó bị trùng lắp khi qua ngày 27, cụ thể nó sẽ xuất hiện cả MOLD A và C (mong muốn là ngày 27 chỉ có MOLD C mà thôi), rồi ngày 28 thì xuất hiện cả 3 MOLD luôn (mong muốn là ngày 28 chỉ có MOLD JA).

Mọi người giúp kyo chỉnh lại câu lệnh SQL với (kyo dùng SQL trong Oracle).
Cảm ơn mọi người.
kyo có một vấn đề muốn nhờ mọi người giúp đỡ. kyo có 2 bảng dữ liệu như sau:
Bảng 1: bao gồm 3 cột LINE, STARTDATE và MOLD

Bảng 2: bao gồm rất nhiều cột thông tin khác, nhìn chung cũng có LINE và PRODDATE. Và bảng này là bảng có rất đầy đủ các thông tin các ngày (từ ngày 22/6 đến ngày 12/7)
Bài toán kyo muốn giải quyết là các giá trị MOLD của bảng 1 sẽ điền khuyết vào bảng 2 sau khi kyo inner join (để tạo ra bảng 3) với LINE = LINE và STARTDATE < = PRODDATE. Cụ thể là ví dụ, trong phạm vi từ ngày 22 đến 26, thông tin của bảng 3 với giá trị MOLD là A, sau đó ngày 27 thì bảng 3 điền giá trị C và ngày 28 trở đi đến ngày 12/7 sẽ điền giá trị là JA.
kyo làm câu lệnh như sau:
Select b.mold, max(startdate) as moldstart, focus_factory, proddate, a.line, bundle, week, month, EFRTMIN
from yearly_ae_model_v_2years a inner join mold_ij_used b on a.line = b.line
and (b.startdate<=proddate)
group by b.mold, focus_factory, proddate, a.line, bundle, week, month,EFRTMIN
order by proddate
Tuy nhiên kết quả sau cùng thì nó bị trùng lắp khi qua ngày 27, cụ thể nó sẽ xuất hiện cả MOLD A và C (mong muốn là ngày 27 chỉ có MOLD C mà thôi), rồi ngày 28 thì xuất hiện cả 3 MOLD luôn (mong muốn là ngày 28 chỉ có MOLD JA).

Mọi người giúp kyo chỉnh lại câu lệnh SQL với (kyo dùng SQL trong Oracle).
Cảm ơn mọi người.