দুটি পৃথক ডাটাবেসে টেবিলের মধ্যে যোগদান করবেন?


123

মাইএসকিউএলে আমার দুটি পৃথক ডাটাবেস রয়েছে - আসুন তাদের এবং বি কল করুন ।

ডাটাবেস এ- তে থাকা একটি টেবিলের মধ্যে, ডাটাবেস বিতে থাকা টেবিলের সাথে কি অংশ নেওয়া সম্ভব ?

উত্তর:


154

হ্যাঁ, ধরে নিচ্ছেন অ্যাকাউন্টটির যথাযথ অনুমতি রয়েছে যা আপনি ব্যবহার করতে পারেন:

SELECT <...>
FROM A.table1 t1 JOIN B.table2 t2 ON t2.column2 = t1.column1;

এটিতে থাকা ডাটাবেসের নামের সাথে আপনাকে কেবল সারণি রেফারেন্সটি উপস্থাপন করতে হবে।


4
বিভিন্ন সার্ভার থেকে দুটি ডাটাবেস সম্পর্কে কি? (উদাহরণস্বরূপ, ক্লাউড পরিষেবা সার্ভারে একটি ডিবি এবং আপনার নিজের সার্ভারে ডিবিতে)
ইউভাল এ।

1
বিভিন্ন ডিবি'র সাথে কী যোগ দেওয়া সম্ভব, ডিবি 1 = মাইএসকিএল এবং ডিবি 2 = পোস্টগ্র্যাস এসকিউএল)। উভয়ের কয়েকটি সাধারণ টেবিল রয়েছে।
MAX

1
@ ইউভালা। @ নৌকা কোডার আমার মনে হয় না ইউভাল পারফরম্যান্স সম্পর্কে জিজ্ঞাসা করছে। কেবল ক্রস-সার্ভারে যোগ দিতে কীভাবে তা জিজ্ঞাসা করা হচ্ছে। আপনার পক্ষে ক্লায়েন্টকে দুটি সংযোগ স্থাপন করতে বলা প্রয়োজন বলে বেশ কঠিন হবে।
জয়েন

নিশ্চিত করুন যে ডাটাবেসের নাম টেবিলের নামের মতো একই ব্যাকটিকের ভিতরে নেই অন্যথায় আপনি পাবেনERROR 1146 (42S02): Table 'currentdb.otherdb.tablename' doesn't exist
জেফ

ধন্যবাদ। এটি আমার সাথে ওরফে নামগুলি ছাড়াও কাজ করেছেFROM A.table1 JOIN B.table2 ON B.table2 .column2 = A.table1.column1
অ্যাকাউন্টেন্ট



0
SELECT <...>
FROM A.table1 t1 JOIN B.table2 t2 ON t2.column2 = t1.column1;

কেবলমাত্র নিশ্চিত করুন যে নির্বাচনী রেখায় আপনি কোন টেবিল কলামগুলি ব্যবহার করছেন তা নির্দিষ্ট রেফারেন্স দ্বারা বা উপনাম দ্বারা নির্দিষ্ট করে দিয়েছেন। নিম্নলিখিত যে কোনও কাজ করবে:

SELECT *
SELECT t1.*,t2.column2
SELECT A.table1.column1, t2.*
etc.
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.