Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

मैं लंबी दूरी से संबंधित तालिकाओं के बीच संबंध कैसे ढूंढूं? माई एसक्यूएल

टेबल्स व्यावसायिक संबंधों/संघों का प्रतिनिधित्व करते हैं। आपके द्वारा उल्लेखित "संबंध [जहाज] एफके (विदेशी कुंजी) हैं, और जिन्हें पूछताछ के लिए जरूरी नहीं है। वे कहते हैं कि कुछ स्तंभों के लिए उप-मान मान कुछ प्रमुख स्तंभों के लिए उप-मान भी होने चाहिए। क्या जरूरत है यह जानने के लिए कि एक पंक्ति तालिका में होने पर वर्तमान व्यावसायिक स्थिति के बारे में क्या कहती है। (जो, यह देखते हुए कि कौन सी परिस्थितियाँ उत्पन्न होती हैं, FK और अन्य बाधाओं को निर्धारित करें।)

से तीसरी तालिका में अपने FK के साथ 2 तालिकाओं में शामिल होने के लिए आवश्यक :

तो दिया गया

-- rows where product [id_product] is supplied by [id_supplier] ...
ps_product(id_product, id_supplier, ...)
-- rows where carrier [id_carrier] has reference [id_reference] ...
ps_carrier(id_carrier, id_reference, ....)

हम लिखते हैं

    ps_product s
JOIN ...
ON s.id_product = ...
...
JOIN ps_carrier c
ON ... = id_carrier
WHERE ...

पंक्तियाँ प्राप्त करने के लिए जहाँ

    product [p.id_product] is supplied by [p.id_supplier] ...
AND ...
AND s.id_product = ...
...
AND carrier [c.id_carrier] has reference [c.id_reference] ...
AND ... = id_carrier
AND ...

आपको अपनी टेबल की विधेय जानने की जरूरत है, फिर एक साथ टेबल ON या WHERE की स्थिति में शामिल हों ताकि परिणामी विधेय उन पंक्तियों के लिए हो जो आप वापस चाहते हैं।

क्या मानव-पढ़ने योग्य विवरण से SQL क्वेरी बनाने का कोई नियम है?




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL में एक को छोड़कर सभी डुप्लिकेट पंक्तियां हटाएं?

  2. MySQL पंक्ति के बाद पहले का चयन करें

  3. MYSQL सिंटैक्स मूल्यांकन नहीं NULL की उपस्थिति के बराबर नहीं है

  4. MySQL REPLACE:एक ही सिर और पूंछ द्वारा सीमांकित प्रत्येक विशिष्ट सबस्ट्रिंग में एक चार की सभी घटनाओं को कैसे बदलें

  5. MySQL #1093 - आप खंड से अद्यतन के लिए लक्ष्य तालिका 'सस्ता' निर्दिष्ट नहीं कर सकते हैं