ใน MySQL, ฉันมีสองฐานข้อมูลที่แตกต่างกัน - ขอเรียกพวกเขาและB
เป็นไปได้หรือไม่ที่จะทำการรวมระหว่างตารางที่อยู่ในฐานข้อมูลAกับตารางที่อยู่ในฐานข้อมูลB ?
ใน MySQL, ฉันมีสองฐานข้อมูลที่แตกต่างกัน - ขอเรียกพวกเขาและB
เป็นไปได้หรือไม่ที่จะทำการรวมระหว่างตารางที่อยู่ในฐานข้อมูลAกับตารางที่อยู่ในฐานข้อมูลB ?
คำตอบ:
ใช่สมมติว่าบัญชีมีสิทธิ์ที่เหมาะสมคุณสามารถใช้ได้:
SELECT <...>
FROM A.table1 t1 JOIN B.table2 t2 ON t2.column2 = t1.column1;
คุณเพียงแค่ต้องนำหน้าการอ้างอิงตารางด้วยชื่อของฐานข้อมูลที่อยู่
ERROR 1146 (42S02): Table 'currentdb.otherdb.tablename' doesn't exist
FROM A.table1 JOIN B.table2 ON B.table2 .column2 = A.table1.column1
SELECT <...>
FROM A.tableA JOIN B.tableB
SELECT *
FROM A.tableA JOIN B.tableB
หรือ
SELECT *
FROM A.tableA JOIN B.tableB
ON A.tableA.id = B.tableB.a_id;
SELECT <...>
FROM A.table1 t1 JOIN B.table2 t2 ON t2.column2 = t1.column1;
ตรวจสอบให้แน่ใจว่าในบรรทัด SELECT คุณระบุคอลัมน์ของตารางที่คุณกำลังใช้ไม่ว่าจะโดยการอ้างอิงแบบเต็มหรือโดยนามแฝง สิ่งใด ๆ ต่อไปนี้จะได้ผล:
SELECT *
SELECT t1.*,t2.column2
SELECT A.table1.column1, t2.*
etc.