2011-05-09 9 views
6

मान लें कि मैं 3 टेबलinnerjoin MySQL 3 टेबल

  • पैसेंजर (ईद [पी], नाम)
  • हवाई जहाज (पंजीकरण [पी], NUM_SEATS)
  • बुकिंग (क्रमांक, passenger_id था [FK -> Passenger.Id], airplane_registration[FK -> Airplane.registration])

बुकिंग तालिका यहां एक जंक्शन वस्तु होगी क्योंकि टेबल यात्री और बुकिंग के बीच कई रिश्ते हैं।

मैं किसी विशेष बुकिंग आईडी से संबंधित सभी विवरण कैसे चुन सकता हूं ('abcde' कहें)?

SELECT Passenger.name, Airplane.num_seats, Booking.Id 
    FROM Booking 
    JOIN Passenger ON Passenger.Id = Booking.passenger_Id 
    JOIN Airplane ON Booking.airplane_registration = Airplane.registration 
WHERE Booking.Id = 'abcde'; 

इस यह करने के लिए सही रास्ता है:

यह सही है? इसके अलावा, अगर मैं सभी बुकिंग और उनके विवरण का चयन करना चाहता हूं, तो क्या मैं वही करूँगा? (जहां खंड के बिना)?

मैं यह जानना चाहता था कि यह परीक्षण के लिए सही है या नहीं, क्योंकि मेरी मशीन पर MySQL नीचे चला गया है।

+0

हाय ओएमजी टट्टू, क्या मैंने स्वरूपण के साथ गलती की? यदि हां, तो मैंने क्या गलत किया? धन्यवाद – Joeblackdev

+1

सलाम (आईई: हाय) और प्लेटिट्यूड्स (आईई: धन्यवाद) स्क्रीन अचल संपत्ति का अपशिष्ट है (और यदि स्वीकृति रेटिंग 50% से कम है - अपमानजनक)। जब मैं कर सकता हूं तो मैं पठनीयता में सुधार करने की कोशिश करता हूं - अधिक संभावना है कि आपको सहायता मिलेगी। –

उत्तर

1

हां, आपकी क्वेरी यात्रियों के विवरण और विशेष बुकिंग आईडी के लिए उड़ान प्राप्त करने के लिए काम करेगी। सभी बुकिंग प्राप्त करने के लिए, मैं बुकिंग आईडी द्वारा ऑर्डर जोड़ूंगा और यदि यात्री नाम और उड़ान पंजीकरण द्वारा आवश्यक हो।

0

अपनी स्कीमा को जानने के बिना, सुनिश्चित करने का कोई तरीका नहीं है, लेकिन यह मेरे लिए ठीक दिखता है।

+0

हाय वहाँ। स्पष्टीकरण के लिए माफ़ी। मैंने अपनी मूल पोस्ट अपडेट की है। जैसा कि आप देख सकते हैं, बुकिंग तालिका में 2 विदेशी कुंजी हैं। पहला तालिका तालिका यात्री में प्राथमिक कुंजी 'आईडी' और दूसरा संदर्भ तालिका हवाई जहाज में प्राथमिक कुंजी 'पंजीकरण' का संदर्भ देता है। – Joeblackdev