<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Wie mach ich diese MySQL Abfrage richtig?</title>
    <link>http://forum.geizhals.at/feed.jsp?id=460679</link>
    <description>Geizhals-Forum</description>
    <item>
      <title>Re(4): Wie mach ich diese MySQL Abfrage richtig?</title>
      <link>http://forum.geizhals.at/t460679,3802358.html#3802358</link>
      <description>nicht böse sein, aber diese fragen die du stellst sind glaub ich beim threadersteller noch nicht von relevanz.&lt;br&gt;&lt;br&gt;von der art der abfrage her bin ich mir ziemlich sicher dass seine spalten MIT dem index in deine erwähnten 95% fällt. &lt;br&gt;&lt;br&gt;&lt;blockquote&gt;Also einfach ein "wichtig: spalte1 und spalte2 müssen nen index haben!" halte ich für etwas zu generalisiert &lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;in diesem thread hier seh ich das nicht so.&lt;br/&gt;</description>
      <pubDate>Tue, 28 Nov 2006 11:15:40 GMT</pubDate>
      <guid>http://forum.geizhals.at/t460679,3802358.html#3802358</guid>
      <dc:creator>error-is.org</dc:creator>
      <dc:date>2006-11-28T11:15:40Z</dc:date>
    </item>
    <item>
      <title>Re(5): Wie mach ich diese MySQL Abfrage richtig?</title>
      <link>http://forum.geizhals.at/t460679,3802303.html#3802303</link>
      <description>Und das geht nicht?&lt;br&gt;SELECT spaltea,spalteb FROM Tabelle1, Tabelle2&amp;nbsp;&amp;nbsp;WHERE spaltea != spalteb&lt;br&gt;&lt;br&gt;Oder das?&lt;br&gt;SELECT spaltea,spalteb FROM Tabelle1, Tabelle2&amp;nbsp;&amp;nbsp;WHERE spaltea &lt;&gt; spalteb&lt;br&gt;&lt;br&gt;Oder:&lt;br&gt;SELECT spaltea,spalteb FROM Tabelle1, Tabelle2&amp;nbsp;&amp;nbsp;WHERE spaltea NOT spalteb&lt;br&gt;&lt;br&gt;Oder:&lt;br&gt;SELECT spaltea,spalteb FROM Tabelle1, Tabelle2&amp;nbsp;&amp;nbsp;WHERE spaltea NOT IN spalteb&lt;br&gt;&lt;br&gt;???&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Tue, 28 Nov 2006 10:52:05 GMT</pubDate>
      <guid>http://forum.geizhals.at/t460679,3802303.html#3802303</guid>
      <dc:creator>Da Horstl</dc:creator>
      <dc:date>2006-11-28T10:52:05Z</dc:date>
    </item>
    <item>
      <title>Re(3): Wie mach ich diese MySQL Abfrage richtig?</title>
      <link>http://forum.geizhals.at/t460679,3802076.html#3802076</link>
      <description>&lt;blockquote&gt;wichtig: spalte1 und spalte2 müssen nen index haben!&lt;/blockquote&gt;&lt;br&gt;Ist so nicht zwingend richtig...&lt;br&gt;&lt;br&gt;Dazu war seine Angabe doch zu gering. Indizes sind per se nicht immer super... Denn nicht ohne Grund sind manchmal hash-Joins, Merge-Joins oder gar sequenzial scans billiger..&lt;br&gt;&lt;br&gt;Abgesehen davon: Wenn man schon zu dem Schluß gekommen ist, daß Indizes hier richtig sind (was eben IMHO zwar in 95, keinesfalls aber in 100% der Fälle gilt) bleibt die Frage, /welchen/ Indextyp man verwendet...&lt;br&gt;&lt;br&gt;B* ? Bitmap ? viell. Function based ? ... Das kann sich ja sowohl von der Art der Daten (viele gleiche ?) als auch von der Art des Zugriffs unterscheiden (siehe Function based).&lt;br&gt;&lt;br&gt;Und /wenn/ man sich hier entschieden hat, bleibt natürlich die Frage der Parametrisierung... zB Anzahl der BitBuckets. Dann bleibt die Frage, wie man das Statistiken-Collecten löst, ...&lt;br&gt;&lt;br&gt;Also einfach ein "wichtig: spalte1 und spalte2 müssen nen index haben!" halte ich für etwas zu generalisiert &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";-)"/&gt;&lt;br/&gt;</description>
      <pubDate>Tue, 28 Nov 2006 08:48:54 GMT</pubDate>
      <guid>http://forum.geizhals.at/t460679,3802076.html#3802076</guid>
      <dc:creator>Linux_Sucks</dc:creator>
      <dc:date>2006-11-28T08:48:54Z</dc:date>
    </item>
    <item>
      <title>Re(2): Wie mach ich diese MySQL Abfrage richtig?</title>
      <link>http://forum.geizhals.at/t460679,3801396.html#3801396</link>
      <description>sind die spalten die du vergleichst indiziiert?&lt;br&gt;&lt;br&gt;mal die performance mit einem subselect testen:&lt;br&gt;select spalte1 from tabelle1 where spalte1 not in (select spalte2 from tabelle2);&lt;br&gt;&lt;br&gt;wichtig: spalte1 und spalte2 müssen nen index haben!&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Mon, 27 Nov 2006 21:28:47 GMT</pubDate>
      <guid>http://forum.geizhals.at/t460679,3801396.html#3801396</guid>
      <dc:creator>error-is.org</dc:creator>
      <dc:date>2006-11-27T21:28:47Z</dc:date>
    </item>
    <item>
      <title>Re: Wie mach ich diese MySQL Abfrage richtig?</title>
      <link>http://forum.geizhals.at/t460679,3800684.html#3800684</link>
      <description>DANKE Leute,- ich glaub mit diesem WHERE ISNULL und LEFT JOIN&amp;nbsp;&amp;nbsp;bin ich am richtigen Weg. Im Moment dauerts zwar ewig(aber der PC tut zumindest etwas) und bricht dann wegen Zeitüberschreitung ab,- aber ich bin an der Lösung nah dran. Morgen wird klappen, jetzt geh ich nach Hause...&lt;br&gt;&lt;br&gt;&lt;br&gt;DANKE euch!! &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";-)"/&gt;&lt;br&gt;Hatte schon suicidegedanken...&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Mon, 27 Nov 2006 16:45:56 GMT</pubDate>
      <guid>http://forum.geizhals.at/t460679,3800684.html#3800684</guid>
      <dc:creator>notebookmann</dc:creator>
      <dc:date>2006-11-27T16:45:56Z</dc:date>
    </item>
    <item>
      <title>Re: Wie mach ich diese MySQL Abfrage richtig?</title>
      <link>http://forum.geizhals.at/t460679,3800600.html#3800600</link>
      <description>Spontan würd ich mal sagen, sowas sollte funktionieren:&lt;br&gt;SELECT spaltea FROM Tabelle1 LEFT JOIN Tabelle2 ON spaltea=spalteb WHERE ISNULL(spalteb)&lt;br/&gt;</description>
      <pubDate>Mon, 27 Nov 2006 16:13:41 GMT</pubDate>
      <guid>http://forum.geizhals.at/t460679,3800600.html#3800600</guid>
      <dc:creator>Robert Craven</dc:creator>
      <dc:date>2006-11-27T16:13:41Z</dc:date>
    </item>
    <item>
      <title>Re(5): Wie mach ich diese MySQL Abfrage richtig?</title>
      <link>http://forum.geizhals.at/t460679,3800556.html#3800556</link>
      <description>Probier's mit den Klammern...&lt;br&gt;&lt;br&gt;Oder eben wie ich es machen würde...&lt;br&gt;&lt;br&gt;SELECT tabelle1.spaltea FROM tabelle1 WHERE NOT EXISTS(SELECT spalteb from tabelle2 WHERE tabelle1.spaltea = tabelle2.spalteb)&lt;br&gt;&lt;br&gt;oder&lt;br&gt;select tabelle1.spaltea FROM tabelle1 LEFT JOIN tabelle2 ON (tabelle1.spaltea = tabelle2.spalteb) where tabelle2.spalte2 is null;&lt;br/&gt;</description>
      <pubDate>Mon, 27 Nov 2006 15:56:54 GMT</pubDate>
      <guid>http://forum.geizhals.at/t460679,3800556.html#3800556</guid>
      <dc:creator>Linux_Sucks</dc:creator>
      <dc:date>2006-11-27T15:56:54Z</dc:date>
    </item>
    <item>
      <title>Re(5): Wie mach ich diese MySQL Abfrage richtig?</title>
      <link>http://forum.geizhals.at/t460679,3800555.html#3800555</link>
      <description>Probier's mit den Klammern...&lt;br&gt;&lt;br&gt;Oder eben wie ich es machen würde...&lt;br&gt;&lt;br&gt;SELECT tabelle1.spaltea FROM tabelle1 WHERE NOT EXISTS(SELECT spalteb from tabelle2 WHERE tabelle1.spaltea = tabelle2.spalteb)&lt;br&gt;&lt;br&gt;oder&lt;br&gt;select tabelle1.spaltea FROM tabelle1 LEFT JOIN tabelle2 ON (tabelle1.spaltea = tabelle2.spalteb)&lt;br/&gt;</description>
      <pubDate>Mon, 27 Nov 2006 15:56:54 GMT</pubDate>
      <guid>http://forum.geizhals.at/t460679,3800555.html#3800555</guid>
      <dc:creator>Linux_Sucks</dc:creator>
      <dc:date>2006-11-27T15:56:54Z</dc:date>
    </item>
    <item>
      <title>Re(5): Wie mach ich diese MySQL Abfrage richtig?</title>
      <link>http://forum.geizhals.at/t460679,3800205.html#3800205</link>
      <description>Ich bin sauer. AUch meine Bücher helfen nix. &lt;br&gt;Jetzt werd ich das altmodisch mit einer AbfrageSchleife durchlaufen lassen und fertig.&lt;br&gt;Das dauert zwar Minuten aber egal. &lt;br&gt;&lt;br&gt;Euer Notebookmann&lt;br/&gt;</description>
      <pubDate>Mon, 27 Nov 2006 14:15:44 GMT</pubDate>
      <guid>http://forum.geizhals.at/t460679,3800205.html#3800205</guid>
      <dc:creator>notebookmann</dc:creator>
      <dc:date>2006-11-27T14:15:44Z</dc:date>
    </item>
    <item>
      <title>Re(4): Wie mach ich diese MySQL Abfrage richtig?</title>
      <link>http://forum.geizhals.at/t460679,3800116.html#3800116</link>
      <description>Nein, Nein,- da passt alles.&lt;br&gt;Wenn ich nur = mache bekomme ich ein Ergebniss(was in Beiden ist).&lt;br&gt;SELECT spaltea,spalteb FROM Tabelle1, Tabelle2&amp;nbsp;&amp;nbsp;WHERE spaltea = spalteb&lt;br&gt;&lt;br&gt;Nur wenn ich eben WHERE NOT verwenden will oder != geht nix.&lt;br&gt;Ich versteh das nicht. &lt;img src="sad.gif" width="16" height="19" align="absmiddle" alt=":-("/&gt;&lt;br&gt;Ich glaube, es hat was mit LeftJoins oder Heaving zu tun. Da bin ich (seit Vormittag)grad am lesen...&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Mon, 27 Nov 2006 13:38:36 GMT</pubDate>
      <guid>http://forum.geizhals.at/t460679,3800116.html#3800116</guid>
      <dc:creator>notebookmann</dc:creator>
      <dc:date>2006-11-27T13:38:36Z</dc:date>
    </item>
    <item>
      <title>Re(3): Wie mach ich diese MySQL Abfrage richtig?</title>
      <link>http://forum.geizhals.at/t460679,3800103.html#3800103</link>
      <description>Ahem... Eine Verbindung zu deiner MySQL hast eh aufgebaut, oder ?&lt;br&gt;&lt;br&gt;Du hast sowieso einen Hund drinnen, vermute ich...&lt;br&gt;Denn wenn eine mysql-Query nicht klappt, sollte sie false liefern - und das solltest abfangen und keine fetchrow's hinterherschicken (ansonsten bekommst die "Ist keine Resource"-Fehler &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";-)"/&gt; ).&lt;br&gt;&lt;br&gt;Irgendwie habe ich den Verdacht, daß eben deine DB-Verbindung schon nicht klappt...&lt;br&gt;Klappt ein "SELECT * FROM tabelle1" ?&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Mon, 27 Nov 2006 13:33:32 GMT</pubDate>
      <guid>http://forum.geizhals.at/t460679,3800103.html#3800103</guid>
      <dc:creator>Linux_Sucks</dc:creator>
      <dc:date>2006-11-27T13:33:32Z</dc:date>
    </item>
    <item>
      <title>Re(2): Wie mach ich diese MySQL Abfrage richtig?</title>
      <link>http://forum.geizhals.at/t460679,3800081.html#3800081</link>
      <description>Danke für die Reaktion!&lt;br&gt;Das sind die Fehlermeldungen:&lt;br&gt;&lt;br&gt;Warning: mysql_query(): Unable to save result set in&lt;br&gt;und&lt;br&gt;Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in&lt;br&gt;&lt;br&gt;Leider bin ich ja kein MySQL Experte.&lt;br&gt;Ich will doch (schluchz) einfach nur wissen welchen Mitglieder von Tabelle1 noch nicht in Tabelle2 sind und mir die anzeigen lassen.&lt;br&gt;&lt;br&gt;Schnüff!&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Mon, 27 Nov 2006 13:23:35 GMT</pubDate>
      <guid>http://forum.geizhals.at/t460679,3800081.html#3800081</guid>
      <dc:creator>notebookmann</dc:creator>
      <dc:date>2006-11-27T13:23:35Z</dc:date>
    </item>
    <item>
      <title>Re: Wie mach ich diese MySQL Abfrage richtig?</title>
      <link>http://forum.geizhals.at/t460679,3800066.html#3800066</link>
      <description>Also ich kenn wieder die MySQL net...&lt;br&gt;&lt;br&gt;Aber nett wäre mal die Fehlermeldung.... &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";-)"/&gt;.&lt;br&gt;&lt;br&gt;Was mir aufgefallen ist:&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;SELECT spaltea,spalteb FROM Tabelle1, Tabelle2&amp;nbsp;&amp;nbsp;WHERE NOT spaltea = spalteb&lt;/blockquote&gt;&lt;br&gt;1.) würde ich immer den Tabellennamen mitangeben... Ist aber mehr Kosmetik und zukunftssicher... also "Tabelle1.spaltea", ...&lt;br&gt;2.) Kann es sein, daß NOT stärker zählt als "=" ? Wenn ja, könntest "WHERE NOT(tabelle1.spaltea=tab...)" schreiben.&lt;br&gt;3.) Gibt's sicher auch ein ungleich in der MySQL... entweder "&lt;&gt;" oder "!="&lt;br&gt;4.) Erzeugst du ein Kreuzprodukt und schränkst dann anders ein, als du es nach deiner Textuellen Aufgabe willst... Du suchst nicht zufällig einen Left Outer Join ?&lt;br&gt;&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Mon, 27 Nov 2006 13:14:39 GMT</pubDate>
      <guid>http://forum.geizhals.at/t460679,3800066.html#3800066</guid>
      <dc:creator>Linux_Sucks</dc:creator>
      <dc:date>2006-11-27T13:14:39Z</dc:date>
    </item>
    <item>
      <title>Re: Wie mach ich diese MySQL Abfrage richtig?</title>
      <link>http://forum.geizhals.at/t460679,3800068.html#3800068</link>
      <description>Also ich kenn wieder die MySQL net...&lt;br&gt;&lt;br&gt;Aber nett wäre mal die Fehlermeldung.... &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";-)"/&gt;.&lt;br&gt;&lt;br&gt;Was mir aufgefallen ist:&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;SELECT spaltea,spalteb FROM Tabelle1, Tabelle2&amp;nbsp;&amp;nbsp;WHERE NOT spaltea = spalteb&lt;/blockquote&gt;&lt;br&gt;1.) würde ich immer den Tabellennamen mitangeben... Ist aber mehr Kosmetik und zukunftssicher... also "Tabelle1.spaltea", ...&lt;br&gt;2.) Kann es sein, daß NOT stärker zählt als "=" ? Wenn ja, könntest "WHERE NOT(tabelle1.spaltea=tab...)" schreiben.&lt;br&gt;3.) Gibt's sicher auch ein ungleich in der MySQL... entweder "&lt;&gt;" oder "!="&lt;br&gt;4.) Erzeugst du ein Kreuzprodukt und schränkst dann anders ein, als du es nach deiner Textuellen Aufgabe willst... Du suchst nicht zufällig einen Left Outer Join ? Bzw. Ein Konstrukt über "Exists" oder (häßlich) "NOT IN (Select...)" ?&lt;br&gt;&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Mon, 27 Nov 2006 13:14:39 GMT</pubDate>
      <guid>http://forum.geizhals.at/t460679,3800068.html#3800068</guid>
      <dc:creator>Linux_Sucks</dc:creator>
      <dc:date>2006-11-27T13:14:39Z</dc:date>
    </item>
    <item>
      <title>Wie mach ich diese MySQL Abfrage richtig?</title>
      <link>http://forum.geizhals.at/t460679,3800053.html#3800053</link>
      <description>Ich möchte gerne eien Abfrage machen wie diese:&lt;br&gt;&lt;br&gt; $res = mysql_query("SELECT spaltea,spalteb FROM Tabelle1, Tabelle2&amp;nbsp;&amp;nbsp;WHERE NOT spaltea = spalteb");&lt;br&gt;&lt;br&gt;Also, es sollen einfach alle Sätze ausgegeben werden die in tabelle1 drinnen sind aber noch nicht in tabelle2.&lt;br&gt;Aber so geht das nicht! Ich glaube MySQL kennt den Operator WHERE NOT nicht.&lt;br&gt;Weiß Jemand Bescheid wie die Abfrage da richtig lauten muss??&lt;br&gt;&lt;br&gt;Ich danke dem ehrlichen Finder!&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Mon, 27 Nov 2006 13:01:34 GMT</pubDate>
      <guid>http://forum.geizhals.at/t460679,3800053.html#3800053</guid>
      <dc:creator>notebookmann</dc:creator>
      <dc:date>2006-11-27T13:01:34Z</dc:date>
    </item>
  </channel>
</rss>
