php - Mysql define a column name to be selected by a sub inner query from other table -


मेरे पास ऐसा तालिका 1 है

  वजन pr_1 pr_2 pr_3 pr_4 pr_5 pr_6 pr_7 pr_8 pr_9 5 41.47 49.06 54.63 49.42 45.24 54.63 45.52 30.7 44.57 6 43.19 51.73 58.81 53.87 46.1 58.81 46.39 31.56 45.43  

और इस तरह की तालिका 2

  country_name price_range Canada pr_1 मैं एक चुनिंदा क्वेरी चलाने की कोशिश कर रहा हूं जो तालिका 1 से डेटा प्राप्त करने के लिए कॉलम नाम प्राप्त करने से डेटा प्राप्त करने के लिए कोशिश कर रहा हूं। उप क्वेरी  
  SELECT इन (चयन `मूल्य_श्रेणी` से` ps_parcel_connect_countries` जहां `देश_नाम` की तरह 'कनाडा')` मूल्य_श्रेणी` के रूप में `ps_parcel_connect_weight_ranges` से WHERE` वजन` & lt; = 5   

लेकिन जब मैं इसे phpmyadmin में चलाता हूँ तो मुझे त्रुटि देता है

  # 1064 - आपके SQL वाक्यविन्यास में एक त्रुटि है; सही करने के लिए सही वाक्यविन्यास के लिए आपके MySQL सर्वर संस्करण से संबंधित मैन्युअल की जांच करें (SELECT `price_range` FROM` ps_parcel_connect_countries` WHERE 'country_name`' पंक्ति 1 पर उपयोग करें)  

कोई भी देखें न त्रुटि -1 लाइन पर बहुत अजीब है।

बहुत उपयोगी होगा अगर कोई मुझे सही दिशा में बता सकता है

धन्यवाद

आपको यहां कम से कम 3 तालिकाओं की होनी चाहिए। आपका देश डेटा वाला एक है

  देश ------- country_id [ Autoincrement] country_name [index]  

उदाहरण डेटा जैसे:

  country_id country_name ---------- ------ ------ 1 कनाडा 2 यूनाइटेड किंगडम ... 9 लैटिन अमेरिका  

एक है जिसकी आप वजन घटाने हैं

  वजन ----- - weight_id [automincrment] weight_value [अनुक्रमणिका]  

उदाहरण डेटा जैसे:

  weight_id वजन --------- ---- - 1 5 2 6  

और जो कीमतों के लिए देशों और वज़न से संबंधित है

  price_by_country_and_weight -------- price_id [autoincrement] country_id weight_id [अद्वितीय अनुक्रमणिका Country_id और weight_id] मूल्य  

नमूना डेटा जैसे:

  price_id country_id weight_id मूल्य -------- ------ ---- --------- ----- 1 1 41.47 2 2 1 49.06 3 3 1 54.63 ... 10 1 2 43.19 11 2 2 51.73 ... 18 9 2 45.43   

आप इस तरह से प्रश्न पूछेंगे:

  SELECT p.price से देश के रूप में सी INNER JOIN मूल्य_by_country_and_weight asp c country_id = p.country_id INNER वजन में शामिल हों पी.वे_आइट_आईड = w.weight_id के रूप में जहां पर c.country_name = 'कनाडा' और w.weight & lt; = 5 आदेश द्वारा w.weight एएससी  

Comments