एसक्यूएल कमांड पंक्तियों को वापस नहीं करता है

मेरे पास एक SQL कमांड है जो मुझे पता है कि मानदंड के साथ डेटा मौजूद है, लेकिन जब मैं क्वेरी चलाता हूं तो यह पंक्तियों को वापस नहीं करता है:

एसक्यूएल:

SELECT `USER_ID`, `CAR_ID`, `AD_ID`, `BRAND`, `MODEL`
, `YEAR`, `PRICE`, `MILEAGE`, `GEARBOX`, `STATUS`, `COLOR_IN`, `COLOR_OUT`
, `BODY`, `FUEL`, `ABOUT`, `MAIN_PHOTO` 
FROM (`ads`, `cars`, `ad_extras`) 
WHERE `ads`.`USER_ID` = '2'

मुझे क्या करना चाहिए?

संपादित करें:

जब मैं SELECT * करता हूं तो यह डेटा वापस नहीं करता है।

जब मैं 2 टेबल से चुनता हूं तो यह डेटा को फिर से चालू करता है। तो मैं 3 टेबल से सही नहीं चुन सकता?

0
चयन है टूटा नहीं । यह आपका कोड होने की संभावना है। यदि आपके पास SELECT कथन द्वारा कोई डेटा नहीं लौटाया गया है तो आपके पास WHERE क्लॉज से मेल खाने वाला कोई डेटा नहीं है। यदि यह मामला सचमुच मामला है तो कृपया नमूना डेटा पोस्ट करें कि हम इसका परीक्षण करने के लिए इस SQL ​​कथन को चला सकते हैं।
जोड़ा लेखक Ben, स्रोत
मैं समझता हूं, हालांकि, आप मानते हैं कि डेटाबेस की सबसे बुनियादी कार्यक्षमता में एक विनाशकारी बग है। क्या यह अधिक संभावना नहीं है कि डेटा मौजूद नहीं है? यद्यपि आपके कोड को फिर से देखकर क्या आपका मतलब यह है कि क्वेरी कभी खत्म नहीं होती है?
जोड़ा लेखक Ben, स्रोत
यह निश्चित रूप से मामला नहीं है - कोई "2 टेबल सीमा" नहीं है
जोड़ा लेखक Mike, स्रोत
@ बेन, मैं इस क्वेरी को किसी भी अन्य भाषा के बिना डीबी सर्वर पर चलाता हूं।
जोड़ा लेखक Ramin, स्रोत
@DanBracuk, यह डेटा देता है। 1 रिकॉर्ड
जोड़ा लेखक Ramin, स्रोत
@ बेन, जब मैं 2 टेबल से चुनता हूं तो यह डेटा को फिर से चालू करता है। तो मैं 3 टेबल से सही नहीं चुन सकता?
जोड़ा लेखक Ramin, स्रोत
चयन के बाद उनसे जुड़ें।
जोड़ा लेखक Mihai, स्रोत
आपको क्या करना चाहिये? साथ शुरू करें, विज्ञापनों से गिनती (*) का चयन करें जहां user_id = 2।
जोड़ा लेखक Dan Bracuk, स्रोत
टेबल में कितना डेटा है? आप बिना किसी संबंध के तीन तालिकाओं में शामिल हो रहे हैं, इसलिए आपको परिणाम मिलेगा जहां कार से प्रत्येक रिकॉर्ड ad_extras से प्रत्येक रिकॉर्ड के साथ जोड़ा जाता है। यह परिणाम हो सकता है जो सर्वर को पूरा करने के लिए बहुत बड़ा है।
जोड़ा लेखक Guffa, स्रोत
सुनिश्चित करें कि आपके द्वारा चुने गए सभी कॉलम मौजूद हैं और user_id एक पूर्णांक प्रकार है इसलिए उद्धरणों का उपयोग न करें ... विज्ञापन कहां उपयोग करें .USER_ID = 2
जोड़ा लेखक uvais, स्रोत

2 उत्तर

यह पसंद है कि आपकी एक टेबल खाली है। इसका नतीजा खाली है। आपको इस तरह की एक क्वेरी का उपयोग करना चाहिए

SELECT `USER_ID`, `CAR_ID`, `AD_ID`, `BRAND`, `MODEL`, `YEAR`, `PRICE`, `MILEAGE`, `GEARBOX`, `STATUS`, `COLOR_IN`, `COLOR_OUT`, `BODY`, `FUEL`, `ABOUT`, `MAIN_PHOTO` FROM `ads` natural left join `cars` natural left join `ad_extras` WHERE `ads`.`USER_ID` = '2'

मैं इसे एक टिप्पणी की तरह पोस्ट करना चाहता था लेकिन मुझे विशेषाधिकार प्राप्त नहीं हुआ है।

0
जोड़ा

3 तालिका से पूछताछ करने के लिए <कोड> जॉइन उनके बीच खंड का उपयोग करना बेहतर है

या यदि आप इसे लिखना चाहते हैं क्योंकि यह कॉलम चुनने के लिए उपनाम का उपयोग करता है

उदाहरण के लिए:

SELECT 'ads.USER_ID', 'cars.CAR_ID', 'ads.AD_ID'
FROM ('ads', 'cars', 'ad_extras') 
WHERE 'ads'.'USER_ID' = '2'

अपनी संबंधित तालिका के साथ

0
जोड़ा