<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>erkules</title>
    <link rel="alternate" type="text/html" href="http://linsenraum.de/erkules/" />
    <link rel="self" type="application/atom+xml" href="http://linsenraum.de/erkules/atom.xml" />
    <id>tag:linsenraum.de,2010-01-29:/erkules//2</id>
    <updated>2010-07-04T15:21:17Z</updated>
    <subtitle>bloggiwoggi</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.23-en</generator>

<entry>
    <title>Fun mit civicrm</title>
    <link rel="alternate" type="text/html" href="http://linsenraum.de/erkules/2010/02/fun-mit-civicrm.html" />
    <id>tag:linsenraum.de,2010:/erkules//2.76</id>

    <published>2010-02-10T22:15:03Z</published>
    <updated>2010-07-04T15:21:17Z</updated>

    <summary>Heute schlug eine nette Query aus civicrm in #mysql.de auf SELECT DISTINCT UPPER(LEFT(contact_a.sort_name, 1)) as sort_name FROM civicrm_contact contact_a LEFT JOIN civicrm_group_contact `civicrm_group_contact-101` ON contact_a.id = `civicrm_group_contact-101`.contact_id LEFT JOIN civicrm_group_contact `civicrm_group_contact-102` ON contact_a.id = `civicrm_group_contact-102`.contact_id LEFT JOIN civicrm_group_contact `civicrm_group_contact-46` ON...</summary>
    <author>
        <name>erkan</name>
        
    </author>
    
        <category term="civicrm" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="mysql" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="mysql" label="mysql" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="de" xml:base="http://linsenraum.de/erkules/">
        <![CDATA[Heute schlug eine nette Query aus <a href="http://civicrm.org/">civicrm</a> in #mysql.de auf<br /><br /><pre><span class="pygment"> </span><span class="pygmentk">SELECT</span><span class="pygment"> </span><span class="pygmentk">DISTINCT</span><span class="pygment"> </span><span class="pygmentnf">UPPER</span><span class="pygmentp">(</span><span class="pygmentk">LEFT</span><span class="pygmentp">(</span><span class="pygmentn">contact_a</span><span class="pygmentp">.</span><span class="pygmentn">sort_name</span><span class="pygmentp">,</span><span class="pygment"> </span><span class="pygmentmi">1</span><span class="pygmentp">))</span><span class="pygment"> </span><span class="pygmentk">as</span><span class="pygment"> </span><span class="pygmentn">sort_name</span><span class="pygment">  </span><br /><span class="pygmentk">FROM</span><span class="pygment"> </span><span class="pygmentn">civicrm_contact</span><span class="pygment"> </span><span class="pygmentn">contact_a</span><span class="pygment">  </span><br /><span class="pygment">  </span><span class="pygmentk">LEFT</span><span class="pygment"> </span><span class="pygmentk">JOIN</span><span class="pygment"> </span><span class="pygmentn">civicrm_group_contact</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact-101`</span><span class="pygment"> </span><br /><span class="pygment">    </span><span class="pygmentk">ON</span><span class="pygment"> </span><span class="pygmentn">contact_a</span><span class="pygmentp">.</span><span class="pygmentn">id</span><span class="pygment"> </span><span class="pygmento">=</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact-101`</span><span class="pygmentp">.</span><span class="pygmentn">contact_id</span><span class="pygment">    </span><br /><span class="pygment">  </span><span class="pygmentk">LEFT</span><span class="pygment"> </span><span class="pygmentk">JOIN</span><span class="pygment"> </span><span class="pygmentn">civicrm_group_contact</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact-102`</span><span class="pygment"> </span><br /><span class="pygment">    </span><span class="pygmentk">ON</span><span class="pygment"> </span><span class="pygmentn">contact_a</span><span class="pygmentp">.</span><span class="pygmentn">id</span><span class="pygment"> </span><span class="pygmento">=</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact-102`</span><span class="pygmentp">.</span><span class="pygmentn">contact_id</span><span class="pygment">    </span><br /><span class="pygment">  </span><span class="pygmentk">LEFT</span><span class="pygment"> </span><span class="pygmentk">JOIN</span><span class="pygment"> </span><span class="pygmentn">civicrm_group_contact</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact-46`</span><span class="pygment"> </span><br /><span class="pygment">    </span><span class="pygmentk">ON</span><span class="pygment"> </span><span class="pygmentn">contact_a</span><span class="pygmentp">.</span><span class="pygmentn">id</span><span class="pygment"> </span><span class="pygmento">=</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact-46`</span><span class="pygmentp">.</span><span class="pygmentn">contact_id</span><span class="pygment">    </span><br /><span class="pygment">  </span><span class="pygmentk">LEFT</span><span class="pygment"> </span><span class="pygmentk">JOIN</span><span class="pygment"> </span><span class="pygmentn">civicrm_group_contact</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact-60`</span><span class="pygment"> </span><br /><span class="pygment">    </span><span class="pygmentk">ON</span><span class="pygment"> </span><span class="pygmentn">contact_a</span><span class="pygmentp">.</span><span class="pygmentn">id</span><span class="pygment"> </span><span class="pygmento">=</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact-60`</span><span class="pygmentp">.</span><span class="pygmentn">contact_id</span><span class="pygment">    </span><br /><span class="pygment">  </span><span class="pygmentk">LEFT</span><span class="pygment"> </span><span class="pygmentk">JOIN</span><span class="pygment"> </span><span class="pygmentn">civicrm_group_contact</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact-6`</span><span class="pygment"> </span><br /><span class="pygment">    </span><span class="pygmentk">ON</span><span class="pygment"> </span><span class="pygmentn">contact_a</span><span class="pygmentp">.</span><span class="pygmentn">id</span><span class="pygment"> </span><span class="pygmento">=</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact-6`</span><span class="pygmentp">.</span><span class="pygmentn">contact_id</span><span class="pygment">    </span><br /><span class="pygment">  </span><span class="pygmentk">LEFT</span><span class="pygment"> </span><span class="pygmentk">JOIN</span><span class="pygment"> </span><span class="pygmentn">civicrm_group_contact</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact-94`</span><span class="pygment"> </span><br /><span class="pygment">   </span><span class="pygmentk">ON</span><span class="pygment"> </span><span class="pygmentn">contact_a</span><span class="pygmentp">.</span><span class="pygmentn">id</span><span class="pygment"> </span><span class="pygmento">=</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact-94`</span><span class="pygmentp">.</span><span class="pygmentn">contact_id</span><span class="pygment">    </span><br /><span class="pygment">  </span><span class="pygmentk">LEFT</span><span class="pygment"> </span><span class="pygmentk">JOIN</span><span class="pygment"> </span><span class="pygmentn">civicrm_group_contact</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact-95`</span><span class="pygment"> </span><br /><span class="pygment">    </span><span class="pygmentk">ON</span><span class="pygment"> </span><span class="pygmentn">contact_a</span><span class="pygmentp">.</span><span class="pygmentn">id</span><span class="pygment"> </span><span class="pygmento">=</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact-95`</span><span class="pygmentp">.</span><span class="pygmentn">contact_id</span><span class="pygment">    </span><br /><span class="pygment">  </span><span class="pygmentk">LEFT</span><span class="pygment"> </span><span class="pygmentk">JOIN</span><span class="pygment"> </span><span class="pygmentn">civicrm_group_contact</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact-97`</span><span class="pygment"> </span><br /><span class="pygment">    </span><span class="pygmentk">ON</span><span class="pygment"> </span><span class="pygmentn">contact_a</span><span class="pygmentp">.</span><span class="pygmentn">id</span><span class="pygment"> </span><span class="pygmento">=</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact-97`</span><span class="pygmentp">.</span><span class="pygmentn">contact_id</span><span class="pygment">    </span><br /><span class="pygment">  </span><span class="pygmentk">LEFT</span><span class="pygment"> </span><span class="pygmentk">JOIN</span><span class="pygment"> </span><span class="pygmentn">civicrm_group_contact</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact-99`</span><span class="pygment"> </span><br /><span class="pygment">    </span><span class="pygmentk">ON</span><span class="pygment"> </span><span class="pygmentn">contact_a</span><span class="pygmentp">.</span><span class="pygmentn">id</span><span class="pygment"> </span><span class="pygmento">=</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact-99`</span><span class="pygmentp">.</span><span class="pygmentn">contact_id</span><span class="pygment">    </span><br /><span class="pygment">  </span><span class="pygmentk">LEFT</span><span class="pygment"> </span><span class="pygmentk">JOIN</span><span class="pygment"> </span><span class="pygmentn">civicrm_group_contact_cache</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact_cache_6`</span><span class="pygment"> </span><br /><span class="pygment">    </span><span class="pygmentk">ON</span><span class="pygment"> </span><span class="pygmentn">contact_a</span><span class="pygmentp">.</span><span class="pygmentn">id</span><span class="pygment"> </span><span class="pygmento">=</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact_cache_6`</span><span class="pygmentp">.</span><span class="pygmentn">contact_id</span><span class="pygment">   </span><br /><span class="pygmentk">WHERE</span><span class="pygment">  </span><br /><span class="pygment">  </span><span class="pygmentp">(</span><span class="pygment"> </span><br /><span class="pygment">   </span><span class="pygmentp">(</span><span class="pygment"> </span><br /><span class="pygment">    </span><span class="pygmentp">(</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact-6`</span><span class="pygmentp">.</span><span class="pygmentn">group_id</span><span class="pygment"> </span><span class="pygmentk">IN</span><span class="pygment"> </span><span class="pygmentp">(</span><span class="pygment"> </span><span class="pygmentmi">6</span><span class="pygment"> </span><span class="pygmentp">)</span><span class="pygment"> </span><br /><span class="pygment">     </span><span class="pygmentk">AND</span><span class="pygment"> </span><br /><span class="pygment">      </span><span class="pygmentss">`civicrm_group_contact-6`</span><span class="pygmentp">.</span><span class="pygmentn">status</span><span class="pygment"> </span><span class="pygmentk">IN</span><span class="pygment"> </span><span class="pygmentp">(</span><span class="pygments2">"Added"</span><span class="pygment"> </span><span class="pygmentp">)</span><span class="pygment"> </span><br /><span class="pygment">     </span><span class="pygmentp">)</span><span class="pygment"> </span><br /><span class="pygment">     </span><span class="pygmentk">OR</span><span class="pygment"> </span><br /><span class="pygment">     </span><span class="pygmentp">(</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact_cache_6`</span><span class="pygmentp">.</span><span class="pygmentn">group_id</span><span class="pygment"> </span><span class="pygmento">=</span><span class="pygment"> </span><span class="pygmentmi">6</span><span class="pygment"> </span><br /><span class="pygment">     </span><span class="pygmentp">)</span><span class="pygment"> </span><br /><span class="pygment">    </span><span class="pygmentp">)</span><span class="pygment"></span><br /><span class="pygment">   </span><span class="pygmentp">)</span><span class="pygment">  </span><br /><span class="pygment">   </span><span class="pygmentk">AND</span><span class="pygment">  </span><br /><span class="pygment">   </span><span class="pygmentp">(</span><span class="pygment">  </span><br /><span class="pygment">    </span><span class="pygmentp">(</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact-6`</span><span class="pygmentp">.</span><span class="pygmentn">group_id</span><span class="pygment"> </span><span class="pygmentk">IN</span><span class="pygment"> </span><span class="pygmentp">(</span><span class="pygment"> </span><span class="pygmentmi">6</span><span class="pygment"> </span><span class="pygmentp">)</span><span class="pygment"> </span><br /><span class="pygment">    </span><span class="pygmentk">AND</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact-6`</span><span class="pygmentp">.</span><span class="pygmentn">status</span><span class="pygment"> </span><span class="pygmentk">IN</span><span class="pygment"> </span><span class="pygmentp">(</span><span class="pygments2">"Added"</span><span class="pygmentp">)</span><span class="pygment"></span><br /><span class="pygment">   </span><span class="pygmentp">)</span><span class="pygment">  </span><br /><span class="pygment">   </span><span class="pygmentk">OR</span><span class="pygment">  </span><br /><span class="pygment">   </span><span class="pygmentp">(</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact-46`</span><span class="pygmentp">.</span><span class="pygmentn">group_id</span><span class="pygment"> </span><span class="pygmentk">IN</span><span class="pygment"> </span><span class="pygmentp">(</span><span class="pygment"> </span><span class="pygmentmi">46</span><span class="pygment"> </span><span class="pygmentp">)</span><span class="pygment"> </span><br /><span class="pygment">   </span><span class="pygmentk">AND</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact-46`</span><span class="pygmentp">.</span><span class="pygmentn">status</span><span class="pygment"> </span><span class="pygmentk">IN</span><span class="pygment"> </span><span class="pygmentp">(</span><span class="pygments2">"Added"</span><span class="pygmentp">)</span><span class="pygment"> </span><br /><span class="pygment">   </span><span class="pygmentp">)</span><span class="pygment">  </span><br /><span class="pygment">  </span><span class="pygmentk">OR</span><span class="pygment">  </span><br /><span class="pygment">   </span><span class="pygmentp">(</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact-60`</span><span class="pygmentp">.</span><span class="pygmentn">group_id</span><span class="pygment"> </span><span class="pygmentk">IN</span><span class="pygment"> </span><span class="pygmentp">(</span><span class="pygment"> </span><span class="pygmentmi">60</span><span class="pygment"> </span><span class="pygmentp">)</span><span class="pygment"> </span><br /><span class="pygment">   </span><span class="pygmentk">AND</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact-60`</span><span class="pygmentp">.</span><span class="pygmentn">status</span><span class="pygment"> </span><span class="pygmentk">IN</span><span class="pygment"> </span><span class="pygmentp">(</span><span class="pygments2">"Added"</span><span class="pygmentp">)</span><span class="pygment"> </span><br /><span class="pygment">  </span><span class="pygmentp">)</span><span class="pygment"> </span><span class="pygmentk">OR</span><span class="pygment"> </span><span class="pygmentp">(</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact-94`</span><span class="pygmentp">.</span><span class="pygmentn">group_id</span><span class="pygment"> </span><span class="pygmentk">IN</span><span class="pygment"> </span><span class="pygmentp">(</span><span class="pygment"> </span><span class="pygmentmi">94</span><span class="pygment"> </span><span class="pygmentp">)</span><span class="pygment"> </span><br /><span class="pygment">  </span><span class="pygmentk">AND</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact-94`</span><span class="pygmentp">.</span><span class="pygmentn">status</span><span class="pygment"> </span><span class="pygmentk">IN</span><span class="pygment"> </span><span class="pygmentp">(</span><span class="pygments2">"Added"</span><span class="pygmentp">)</span><span class="pygment"> </span><span class="pygmentp">)</span><span class="pygment">  </span><br /><span class="pygment">  </span><span class="pygmentk">OR</span><span class="pygment">  </span><span class="pygmentp">(</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact-95`</span><span class="pygmentp">.</span><span class="pygmentn">group_id</span><span class="pygment"> </span><span class="pygmentk">IN</span><span class="pygment"> </span><span class="pygmentp">(</span><span class="pygment"> </span><span class="pygmentmi">95</span><span class="pygment"> </span><span class="pygmentp">)</span><span class="pygment"> </span><br /><span class="pygment">  </span><span class="pygmentk">AND</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact-95`</span><span class="pygmentp">.</span><span class="pygmentn">status</span><span class="pygment"> </span><span class="pygmentk">IN</span><span class="pygment"> </span><span class="pygmentp">(</span><span class="pygments2">"Added"</span><span class="pygmentp">)</span><span class="pygment"> </span><span class="pygmentp">)</span><span class="pygment">  </span><br /><span class="pygment">  </span><span class="pygmentk">OR</span><span class="pygment">  </span><span class="pygmentp">(</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact-97`</span><span class="pygmentp">.</span><span class="pygmentn">group_id</span><span class="pygment"> </span><span class="pygmentk">IN</span><span class="pygment"> </span><span class="pygmentp">(</span><span class="pygment"> </span><span class="pygmentmi">97</span><span class="pygment"> </span><span class="pygmentp">)</span><span class="pygment"> </span><br /><span class="pygment">  </span><span class="pygmentk">AND</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact-97`</span><span class="pygmentp">.</span><span class="pygmentn">status</span><span class="pygment"> </span><span class="pygmentk">IN</span><span class="pygment"> </span><span class="pygmentp">(</span><span class="pygments2">"Added"</span><span class="pygmentp">)</span><span class="pygment"> </span><span class="pygmentp">)</span><span class="pygment">  </span><br /><span class="pygment">  </span><span class="pygmentk">OR</span><span class="pygment">  </span><span class="pygmentp">(</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact-99`</span><span class="pygmentp">.</span><span class="pygmentn">group_id</span><span class="pygment"> </span><span class="pygmentk">IN</span><span class="pygment"> </span><span class="pygmentp">(</span><span class="pygment"> </span><span class="pygmentmi">99</span><span class="pygment"> </span><span class="pygmentp">)</span><span class="pygment"> </span><br /><span class="pygment">  </span><span class="pygmentk">AND</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact-99`</span><span class="pygmentp">.</span><span class="pygmentn">status</span><span class="pygment"> </span><span class="pygmentk">IN</span><span class="pygment"> </span><span class="pygmentp">(</span><span class="pygments2">"Added"</span><span class="pygmentp">)</span><span class="pygment"> </span><span class="pygmentp">)</span><span class="pygment">   </span><br /><span class="pygment">  </span><span class="pygmentk">OR</span><span class="pygment">  </span><span class="pygmentp">(</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact-101`</span><span class="pygmentp">.</span><span class="pygmentn">group_id</span><span class="pygment"> </span><span class="pygmentk">IN</span><span class="pygment"> </span><span class="pygmentp">(</span><span class="pygment"> </span><span class="pygmentmi">101</span><span class="pygment"> </span><span class="pygmentp">)</span><span class="pygment"> </span><br /><span class="pygment">  </span><span class="pygmentk">AND</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact-101`</span><span class="pygmentp">.</span><span class="pygmentn">status</span><span class="pygment"> </span><span class="pygmentk">IN</span><span class="pygment"> </span><span class="pygmentp">(</span><span class="pygments2">"Added"</span><span class="pygmentp">)</span><span class="pygment"> </span><span class="pygmentp">)</span><span class="pygment">  </span><br /><span class="pygment">  </span><span class="pygmentk">OR</span><span class="pygment">  </span><span class="pygmentp">(</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact-102`</span><span class="pygmentp">.</span><span class="pygmentn">group_id</span><span class="pygment"> </span><span class="pygmentk">IN</span><span class="pygment"> </span><span class="pygmentp">(</span><span class="pygment"> </span><span class="pygmentmi">102</span><span class="pygment"> </span><span class="pygmentp">)</span><span class="pygment"> </span><br /><span class="pygment">  </span><span class="pygmentk">AND</span><span class="pygment"> </span><span class="pygmentss">`civicrm_group_contact-102`</span><span class="pygmentp">.</span><span class="pygmentn">status</span><span class="pygment"> </span><span class="pygmentk">IN</span><span class="pygment"> </span><span class="pygmentp">(</span><span class="pygments2">"Added"</span><span class="pygmentp">)</span><span class="pygment"> </span><span class="pygmentp">)</span><span class="pygment">  </span><span class="pygmentp">);</span><br /><br />Was sich die Entwickler dabei dachten ist mir nicht klar, denn es ist nichts anderes als<br /><br /><span class="pygment"></span><span class="pygmentk">SELECT</span><span class="pygment"> </span><span class="pygmentk">DISTINCT</span><span class="pygment"> </span><span class="pygmentnf">UPPER</span><span class="pygmentp">(</span><span class="pygmentk">LEFT</span><span class="pygmentp">(</span><span class="pygmentn">contact_a</span><span class="pygmentp">.</span><span class="pygmentn">sort_name</span><span class="pygmentp">,</span><span class="pygment"> </span><span class="pygmentmi">1</span><span class="pygmentp">))</span><span class="pygment"> </span><span class="pygmentk">as</span><span class="pygment"> </span><span class="pygmentn">sort_name</span><span class="pygment">  </span><br /><span class="pygmentk">FROM</span><span class="pygment"> </span><span class="pygmentn">civicrm_contact</span><span class="pygment"> </span><span class="pygmentn">contact_a</span><span class="pygment"></span>;<br /><br />Sprich die Menge aller Großbuchstaben des ersten Buchstaben von sort_name.<br /><br />*kopfkratz*<br /><br />Danke an Rince der mit der Query in #mysql.de aufschlug.<br />Wer Lust hat ist gerne eingeladen auch im irc aufzuschlagen:)<br /></pre><br /> ]]>
        
    </content>
</entry>

</feed>
