2011-12-13 16 views
7

मेरे पास दो टेबल हैं, एक तालिका को क्यूईएलिस्ट कहा जाता है और दूसरा कॉल जानकारी है। Queuelist तालिका में यह सिर्फ अलग आईडी सूचीबद्ध करता है। मैं उस तालिका से 'क्लाइंट आईडी' प्राप्त करने की कोशिश कर रहा हूं और दूसरी तालिका में 'आईडी' से मेल खाता हूं जिसमें सभी जानकारी शामिल है और इसे पृष्ठ पर वापस प्रदर्शित करें। यहाँ कैसे टेबल देखने के लिए है:एक तालिका से PHP MySQL चयन आईडी और किसी अन्य तालिका से जानकारी

तालिका - queuelist

ID | clientID 
------------- 
1 | 589 
2 | 254 
3 | 486 

तालिका - जानकारी

ID | Name | Phone 
-------------------- 
256 | Bob | 5551231234 
486 | Jack | 5551231234 
589 | Jill | 5551231234 

उत्तर

5

यह वह जगह है कि वे क्या शामिल होने टेबल कहते हैं, अगर आप इस तरह एक प्रश्न का उपयोग करना चाहिए:

SELECT i.ID, i.Name, i.Phone FROM `queuelist` AS q 
LEFT JOIN `info` AS i ON (
    q.clientID = i.ID 
); 

मैं (कम अंकन के लिए उपनाम का उपयोग कर रहा ऊपर क्वेरी में queuelist क्ष हो जाता है और जानकारी मैं हो जाता है) और फिर queuelist तालिका से क्लाइंट आईडी होने के लिए शामिल स्थिति (ON() के बीच बिट) को सेट तालिका में आईडी से मेल खाना चाहिए।

अधिक जानकारी के लिए http://dev.mysql.com/doc/refman/5.0/en/join.html भी देखें।

4

आप एक आंतरिक उपयोग करने की आवश्यकता

select * from queuelist as ql inner join info as i on ql.clientID = i.ID 

में शामिल होने हालांकि आप करना चाह सकते हैं * विशिष्ट फ़ील्ड नामों के साथ प्रतिस्थापित करें जैसे

select ql.clientID, i.fieldname FROM.... 
+0

संपादित करना चाहते हैं। हालांकि यह "alseo q1" के बजाय "ql" होना चाहिए ;-) – TommyBs

1

ठीक है, मुझे जॉइन का उपयोग करके इसमें कोई कठिनाई नहीं दिखती है।

SELECT * FROM queuelist JOIN info ON clientID = info.ID WHERE queuelist.ID = 2 
0

"कहां" एक और विकल्प होगा।

SELECT Name, Phone FROM queuelist,info WHERE clientID = ID 

मान लिया जाये कि आप केवल नाम और फोन

संबंधित मुद्दे