আমি একটি হোমওয়ার্ক প্রকল্পে কাজ করছি এবং আমার একটি ডাটাবেস ক্যোয়ারী করানোর কথা ছিল যা শহরের নাম বা বিমানবন্দর কোড দ্বারা ফ্লাইটগুলি সন্ধান করে তবে flights
টেবিলটিতে কেবল বিমানবন্দর কোড থাকে তাই যদি আমি শহর থেকে অনুসন্ধান করতে চাই তবে এ যোগ airports
টেবিল।
বিমানবন্দর টেবিল নিম্নলিখিত কলাম রয়েছে: code, city
বিমান টেবিল নিম্নলিখিত কলাম রয়েছে: airline, flt_no, fairport, tairport, depart, arrive, fare
কলাম fairport
এবং tairport
হয় থেকে এবং থেকে এয়ারপোর্ট কোড রয়েছে।
কলামগুলি depart
এবং arrive
প্রস্থান এবং আগমনের তারিখ।
আমি একটি ক্যোয়ারী নিয়ে এসেছি যা fairport
কলাম এবং কলামে প্রথম ফ্লাইটগুলিতে যোগ দেয় airports.code
। আমার সাথে ম্যাচ করার জন্য আমাকে tairport
প্রথম যোগদান থেকে পূর্বের ম্যাচগুলিতে আরও একটি যোগদান করতে হবে।
SELECT airline, flt_no, fairport, tairport, depart, arrive, fare
FROM (SELECT * FROM flights
INNER JOIN airports
ON flights.fairport = airports.code
WHERE (airports.code = '?' OR airports.city='?')) AS matches
INNER JOIN airports
ON matches.tairport = airports.code
WHERE (airports.code = '?' OR airports.city = '?')
আমার ক্যোয়ারী সঠিক ফলাফলগুলি দেয় এবং এটি হোম ওয়ার্কের উদ্দেশ্যে যথেষ্ট হবে, তবে আমি ভাবছি যে আমি JOIN
একাধিক কলামে পারব কিনা ? আমি কীভাবে এই WHERE
ধারাটি তৈরি করব যাতে এটি প্রস্থান এবং গন্তব্য শহর / কোডের সাথে মিলে যায়?
নীচে আমি কী অর্জন করতে চাই তার উপরে একটি "সিউডো-ক্যোয়ারী" রয়েছে, তবে আমি বাক্য গঠনটি সঠিকভাবে পেতে পারি না এবং কীভাবে airports
প্রস্থান এবং গন্তব্যগুলির জন্য সারণীটি উপস্থাপন করতে হয় তা আমি জানি না :
SELECT * FROM flights
INNER JOIN airports
ON flights.fairport = airports.code AND flights.tairport = airports.code
WHERE (airports.code = 'departureCode' OR airports.city= 'departureCity')
AND (airports.code = 'destinationCode' OR airports.city = 'destinationCity')
হালনাগাদ
এসকিউএল বিবৃতিগুলি কীভাবে তৈরি করা যায় সে সম্পর্কে সাধারণ গাইড হিসাবে খুব সহায়ক হতে এসকিউএল স্টেটমেন্টের এই ভিজ্যুয়াল উপস্থাপনাটিও পেয়েছি !