กระทู้เก่าบอร์ด อ.Yeadram
1,012 3
URL.หัวข้อ /
URL
สอบถาม sql access ครับ
สวัสดีครับ...รบกวนสอบถาม sql access ที่ครับ
ผม 2 ตารางครับ คือ t1 เเละ t2
t1
id_t1 | fullname
1001 | kook
1002 | jone
t2
id | id_t2 | major
1 | 1001 | วิศวะ
2 | 1001 | คอมพิวเตอร์
3 | 1002 | วิศวะ
4 | 1002 | ไฟฟ้า
5 | 1002 | เครื่องยนต์
ผมคิวรี่โดย...
select t1.fullname,t2.major
form t1,t2
where t1.t1_id = t2.t2_id ;
ผลได้...
fullname | major
kook | วิศวะ
kook | คอมพิวเตอร์
jone | วิศวะ
jone | ไฟฟ้า
jone | เครื่องยนต์
อยากให้แสดงข้อมูลเป็นลักษณะ...
fullname | major
kook | วิศวะ
| คอมพิวเตอร์
jone | วิศวะ
| ไฟฟ้า
| เครื่องยนต์
ตัดเเต่ชื่อซ้ำออกครับ...
รบกวนขอ sql ให้ทีครับ
ขอบคุณครับ
ผม 2 ตารางครับ คือ t1 เเละ t2
t1
id_t1 | fullname
1001 | kook
1002 | jone
t2
id | id_t2 | major
1 | 1001 | วิศวะ
2 | 1001 | คอมพิวเตอร์
3 | 1002 | วิศวะ
4 | 1002 | ไฟฟ้า
5 | 1002 | เครื่องยนต์
ผมคิวรี่โดย...
select t1.fullname,t2.major
form t1,t2
where t1.t1_id = t2.t2_id ;
ผลได้...
fullname | major
kook | วิศวะ
kook | คอมพิวเตอร์
jone | วิศวะ
jone | ไฟฟ้า
jone | เครื่องยนต์
อยากให้แสดงข้อมูลเป็นลักษณะ...
fullname | major
kook | วิศวะ
| คอมพิวเตอร์
jone | วิศวะ
| ไฟฟ้า
| เครื่องยนต์
ตัดเเต่ชื่อซ้ำออกครับ...
รบกวนขอ sql ให้ทีครับ
ขอบคุณครับ
3 Reply in this Topic. Dispaly 1 pages and you are on page number 1
1 @R19711
ผมรอง distinct ไม่ได้ครับ
2 @R19712
ใน Report ทำได้ครับ แต่ Query ไม่น่าจะได้ครับ
3 @R19713
ถ้าจะเอาไปใช้ใน รายงาน ให้ใช้ Property ใน รายงานชื่อ Hide Duplicates ได้เลยครับ
แต่ถ้าจำเป็นต้องทำใสคิวรี่จริงๆก็ประมาณนี้ครับ
SELECT t2a.minID As id, t1a.id_t1 AS IDt, t1a.fullname, t2a.MinMajor AS major
FROM t1 AS t1a INNER JOIN (SELECT id_t2 As IDt, first(major) As MinMajor, min(id) As minID
FROM t2 As t2aSub
Group By t2aSub.id_t2) AS t2a ON t1a.id_t1 = t2a.IDt;
UNION SELECT Null As id, t1b.id_t1 As IDt, t1b.fullname, Null As major
FROM t1 As t1b LEFT JOIN t2 As t2b ON t1b.id_t1 = t2b.id_t2
WHERE t2b.id_t2 Is Null;
UNION SELECT t2c.id, t2c.id_t2 As IDt, Null As fullname, t2c.major
FROM t2 As t2c Left Join
(SELECT id_t2 As IDt, first(major) As MinMajor
FROM t2 As t2cSub
Group By id_t2)
As t2cJoin
On t2c.id_t2 = t2cJoin.IDt And t2c.major = t2cJoin.MinMajor
WHERE t2cJoin.IDt Is Null
ORDER BY IDt, id;
ปรับใช้ดูครับ
ดูกระทู้ที่น่าจะคล้ายที่คุณต้องการที่นี่ครับ
http://thai-access.com/yeadram_view.php?topic_id=3077
แต่ถ้าจำเป็นต้องทำใสคิวรี่จริงๆก็ประมาณนี้ครับ
SELECT t2a.minID As id, t1a.id_t1 AS IDt, t1a.fullname, t2a.MinMajor AS major
FROM t1 AS t1a INNER JOIN (SELECT id_t2 As IDt, first(major) As MinMajor, min(id) As minID
FROM t2 As t2aSub
Group By t2aSub.id_t2) AS t2a ON t1a.id_t1 = t2a.IDt;
UNION SELECT Null As id, t1b.id_t1 As IDt, t1b.fullname, Null As major
FROM t1 As t1b LEFT JOIN t2 As t2b ON t1b.id_t1 = t2b.id_t2
WHERE t2b.id_t2 Is Null;
UNION SELECT t2c.id, t2c.id_t2 As IDt, Null As fullname, t2c.major
FROM t2 As t2c Left Join
(SELECT id_t2 As IDt, first(major) As MinMajor
FROM t2 As t2cSub
Group By id_t2)
As t2cJoin
On t2c.id_t2 = t2cJoin.IDt And t2c.major = t2cJoin.MinMajor
WHERE t2cJoin.IDt Is Null
ORDER BY IDt, id;
ปรับใช้ดูครับ
ดูกระทู้ที่น่าจะคล้ายที่คุณต้องการที่นี่ครับ
http://thai-access.com/yeadram_view.php?topic_id=3077
Time: 0.3132s