Tags:

จะ query ยังไงเหรอครับ

มีฐานข้อมูล สมมุติดังนี้

database province
id | name

1 | กรุงเทพ

2 | เชียงใหม่

3 | ภูเก็ต

4 | นครสวรรค์

แล้วมีอีกตารางเก็บฐานข้อมูลประมาณนี้

id | start | end | day

1 | 1 | 2 | 2011-08-01

2 | 2 | 4 | 2011-08-02

3 | 4 | 1 | 2011-08-02

ผมอยากจะ query ครั้งเดียวโดยให้แสดงผลลัพธ์เป็น

1 | กรุงเทพ | เชียงใหม่ | 2011-08-01

ประมาณนี้ ไม่ทราบว่าต้องเขียนยังไงเหรอครับ

ภาษาที่ใช้ MySQL กับ postgresql ครับ

Get latest news from Blognone
By: mix5003
AndroidUbuntuWindows
on 15 September 2011 - 20:19 #333755

น่าจะประมาณนี้
ไม่ก็ JOIN ก็น่าจะได้
{syntaxhighlighter brush:sql}
select c.id,p1.name,p2.name,c.day FROM
table2 c,province p1,province p2
WHERE p1.id = c.start AND p2.id = c.end
{/syntaxhighlighter}

By: saknarak
Android
on 15 September 2011 - 21:30 #333802
saknarak's picture

แบบ join

{syntaxhighlighter brush:sql}
SELECT T1.id, P1.name, P2.name, T1.day
FROM table1 T1
JOIN province P1 ON T1.start=P1.id
JOIN province P2 ON T1.end P2.id
{/syntaxhighlighter}

By: mix5003
AndroidUbuntuWindows
on 18 September 2011 - 16:20 #334470 Reply to:333802

ทำไมเหมือน = หายไปตัวนึงหว่า?

By: shikima
Windows PhoneAndroidUbuntu
on 16 September 2011 - 11:59 #334102

ใช้งานได้ทั้งสองแบบเลย ขอบคุณมากครับ