สอบถามเรื่องการJoin Tables ค่ะ เอา2ตารางมารวมกันค่ะ



0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

24 พ.ย. 63 , 13:31:03
อ่าน 551 ครั้ง

Jiw Jewel

คืออยากให้query แสดงข้อมูลตามนี้ค่ะ
ถ้าเรามี table 1 และ table 2 ตามนี้
Table1
Id|Name |age
1 | Hill    | 3
2 | Golf   |
3 | Soya  | 5

Table2

Id|Name|age
1 | Hill   | 5
2 | Golf  | 4
3 | Soya |
4 | Jin    | 9


Query Results

Id|Name|age
1 | Hill   |5
2 | Golf  |4
3 | Soya |5

ต้องทำอย่างไรคะ ทางนี้ลอง Left Join แล้ว Union ค่าที่ออกมาซ้ำเป็น2 แถวค่ะเช่น

Id|Name|age
1 | Hill   |3
1 | Hill   |5
2 | Golf  |
2 | Golf  |4
3 | Soya |5
3 | Soya |


รบกวนผู้รู้ช่วยทีนะคะ

 

24 พ.ย. 63 , 22:33:13
ตอบกลับ #1

sjs

เอา query ที่ทำได้ไปหาค่า max แล้ว group by id ,name ได้ไหมแบบนี้

 
โพสต์นี้ได้รับคำขอบคุณจาก: PNR, Jiw Jewel

25 พ.ย. 63 , 08:02:44
ตอบกลับ #2

PNR

เอา query ที่ทำได้ไปหาค่า max แล้ว group by id ,name ได้ไหมแบบนี้
ใช่เลยครับ
Time to stop for me  :dizzy:
 
โพสต์นี้ได้รับคำขอบคุณจาก: Jiw Jewel

25 พ.ย. 63 , 08:16:05
ตอบกลับ #3

Jiw Jewel

มีตัวอย่าง code หรือเว็บไซต์แนะนำไหมคะ

แต่ขอลองสอบถามตามความเข้าใจก่อนนะคะ ว่าเข้าใจถูกไหม

ก็คือ ให้เอาค่า age จาก 2 ตารางมาเปรียบเทียบกัน แล้วให้เลือกตัวที่มีค่ามากที่สุดมา มาทำเป็น 1 column ต่อจาก ID และ name ถูกต้องไหมคะ

 

25 พ.ย. 63 , 08:49:21
ตอบกลับ #4

PNR

จากตารางทั้งสอง Jin จะนำมาแสดงด้วยไหมครับ ?

ถ้าไม่นำมาแสดง ใส่โค้ดแบบนี้
โค๊ด: [Select]
SELECT SubQuery.ID, SubQuery.Name, Max(SubQuery.age) AS MaxAge
FROM (
Select ID,Name,age from table1
Union
Select ID,Name,age from table2
)  AS SubQuery
GROUP BY SubQuery.ID, SubQuery.Name
HAVING (((SubQuery.ID) In (select id from table1)));
« แก้ไขครั้งสุดท้าย: 25 พ.ย. 63 , 08:58:28 โดย PNR »
Time to stop for me  :dizzy:
 
โพสต์นี้ได้รับคำขอบคุณจาก: Jiw Jewel

25 พ.ย. 63 , 10:47:33
ตอบกลับ #5

Jiw Jewel

ขอบคุณมากค่ะ ทำได้แล้วค่ะ ช่วยได้มากจริงๆค่ะ

 


บอร์ดเรียนรู้ Access สำหรับคนไทย