Monday 15 September 2014

codeigniter - Trouble with MYSQL joins and count -


मेरे पास दो टेबल हैं, X और वाई

एक्स:

  • x_id
  • टाइप_id
  • user_id
  • विवरण

    वाई:

    • x_id (अद्वितीय नहीं)
    • तिथि

      मैं एक user_id और एक type_id की आपूर्ति करता हूं, प्रत्येक उपयोगकर्ता एक्स में उसी प्रकार के साथ कई प्रविष्टियां कर सकता है।

      मुझे ऊपर की मापदंड से मेल खाने वाले वाई में सभी प्रविष्टियां गिनने की आवश्यकता है I (उम्मीद है कि मैंने खुद को स्पष्ट किया;))

      तो बुनियादी तौर पर: एक्स पर प्रविष्टियों से जो user_id और type_id से मिलान होता है, वाई पर सभी प्रविष्टियों को पकड़ो जो कि वही x_id है।

      यह एक क्वेरी जो मैं कोडइग्नेटर में प्रयास कर रहा था (लेकिन किसी भी प्रकार का MYSQL ठीक होगा):

        $ this- & gt; db- & gt; चुनें ("X.description, COUNT (Y.x_id) एएस गणना "); $ इस- & gt; db- & gt; ( "X") से; $ This- & gt; db- & gt; जुड़ें ("वाई", "Y.x_id = X.x_id"); $ This- & gt; db- & gt; जहां ("X.type_id", 1); $ This- & gt; db- & gt; जहां ("एक्स.युसर_आईडी", 2);   

      यह केवल मुझे 1 प्रविष्टि लौटा रहा है।

      आधार इस पर "मुझे ऊपर की मापदंड से मेल खाने वाले वाई में सभी प्रविष्टियां गिनने की ज़रूरत है", आप यह कोशिश कर सकते हैं:

        SELECT COUNT (*) से x इनर से जुड़ें x.x_id = y पर X_id WHERE x.type_id = 1 और x.user_id = 2   

      अपडेट करें: यदि आप प्रति विवरण गिनना चाहते हैं जिसे आपको इसके द्वारा समूह की आवश्यकता है जैसा कि < मजबूत> एड गिब्स :

        SELECT x.description, x (*) से x इनर से x पर जुड़ें x.x_id = y.x_id जहां x .type_id = 1 और x.user_id = 2 GROUP द्वारा x.description    

No comments:

Post a Comment