Tuesday, January 27, 2009

Join table from 2 databases

Join ตาราง ระหว่างฐานข้อมูลสองก้อน

# เคยแต่ join ใน database ก้อนเดียวกันมะเคย join จากคนละก้อนสักกะที

# เลยถามเพื่อนเขียว อืมแล้วเค้าก็บอกว่า มันแค่ใส่ dbo ต่อจากชื่อ db นี่เอง ^^'

SELECT a.[field], b.[field]
FROM [db1].dbo.[table] AS a , [db2].dbo.[table] AS b
WHERE a.[field] = b.[field]

# อันแรกนี้ทดสอบบน MS SQL

SELECT * FROM db_1.tb inner join db_2.tb on db_2.tb.id = db_1.tb.id

# ต้องลองกับ MySQL ด้วยผลปรากฏว่าฉลุย ไม่เห็นต้องใส่ dbo เลยอ่ะ สงสัย dbo เป็น syntax ของ mssql มั้ง

เพิ่มเติม join ใน update statement

# นั่งงมตั้งสับสนกันชิบหายเลยคือ update join แบบ mssql และ แบบ mysql สับสนกันหมดแหละ

แบบ MySQL

update a inner join b on a.id = b.id
set a.name = 'somsak'

แบบ MSSQL

update a
set a.name = 'somsak'
from a inner join b on a.id = b.id

สังเกต
  • mysql จะไม่ใช้ from คือ จะ inner join ต่อ update table เลย

Notes:
  • ทำไม MSSQL update 2 table ใน statement เดียวไม่ได้หว่า ที่นี้ และ ที่นี้ เค้าว่ามา
  • แล้ว MySQL ทำไม update ใน statement เดียวกันเลยได้หว่า ตัวอย่าง ที่นี้เลย

References:

No comments:

Post a Comment

Popular Posts