[TYPO3-german] sql-statement

Alisha mail at alisha-huber.de
Tue Jan 31 19:31:16 CET 2012


Hallo Michael,
nee leider nicht, denn es ist tatsächlich so, dass die Bedingungen 
komplett variabel sind.
Ich habe ein Suchformular, bei dem der User verschiedene Kritieren in 
die Suche einbinden kann: i.S.v. Kriterium x
- muss vorhanden sein oder
- darf nicht vorhanden sein oder
- ist egal, ob es vorhanden ist oder nicht...

und meine uid_local haben ein ganz unterschiedliche Zuordnungen, manche 
haben alle Kritierien, manche nur ein oder zwei...

Aber danke für deine Mühe!


Am 31.01.2012 16:22, schrieb Michael Kasten:
> Ah sorry ich hatte was von zwei Tabellen gelesen und dachte na gut wenn
> es einen gemeinsamen Schlüssel gibt wäre das ja ein klassisches Join
> konstrukt, da lag ich wohl falsch.
>
> Ich weiß jetzt nicht ob die Anzahl deiner Bedingungen Variabel ist ich
> gehe jetzt mal von zwei positiven und einem negativen wert aus, das
> lässt sich mit subselects ganz gut lösen:
>
> So sieht die Tabelle bei mir jetzt aus:
>
> CREATE TABLE IF NOT EXISTS `test` (
> `uid_local` int(11) NOT NULL,
> `uid_foreign` int(11) NOT NULL
> ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
>
>
>
> SELECT `uid_local`
> FROM `test`
> WHERE `uid_foreign` = 101
> AND `uid_local` IN (
> SELECT `uid_local`
> FROM `test`
> WHERE `uid_foreign` = 102
> )
> AND`uid_local` NOT IN (
> SELECT `uid_local`
> FROM `test`
> WHERE `uid_foreign` = 104
> )
>
> Passt das?
>
>
> am 31.01.2012 14:45 Alisha schrieb:
>> ja, sicher - auf was willst du hinaus?
>>
>> das ist eine N zu M-Beziehung zw. zwei Tabellen, deshalb die eigene
>> Tabelle für die Verknüpfungen...
>>
>> ich kann mich dunkel erinnern, dass ich auch in einer Abfrage eine
>> Tabelle mit einer virtuellen
>> Kopie der gleichen Tabelle über joins verknüpfen kann a la
>> tabelle1_tabelle2_mm as tab1 inner join
>> tabelle1_tabelle2_mm as tab2... meinst du das?
>> bräuchte ich dann aber nicht bei 19 verschiedenen Foreign-Keys 19
>> virtuelle Tabellen? Das ist sicher
>> nicht sehr performant.
>> Aber vielleicht gehts ja auch viel einfacher... Wie gesagt, kann auch
>> sein, dass ich gerade komplett
>> auf der Leitung stehe...
>>
>>
>> Am 31.01.2012 14:29, schrieb Michael Kasten:
>>> Hast du dir schon Join Konstrukte angesehen?
>>>
>>>
>>> am 31.01.2012 14:21 Alisha schrieb:
>>>> Hi,
>>>> hat jetzt nicht zwangsläufig was mit Typo3 zu tun, aber vielleicht hat
>>>> ja trotzdem jemand einen
>>>> Tipp? Ich steh gerade auf der Leitung...
>>>> Ich habe eine mm-Tabelle:
>>>>
>>>> tabelle1_tabelle2_mm
>>>>
>>>> mit folgenden Werten
>>>> uid_local uid_foreign
>>>> 1 101
>>>> 1 102
>>>> 2 101
>>>> 2 102
>>>> 2 103
>>>> 3 101
>>>> 3 102
>>>> 3 104
>>>>
>>>> etc.
>>>> nun brauche ich eine Abfrage, die mir die uid_local ausgibt, auf die
>>>> unterschiedliche Bedigungen in
>>>> Bezug auf uid_foreign zutreffen müssen
>>>> also z.b.
>>>> gib alle uid_local mit uid_foreign = 101 UND uid_foreign = 102 ABER
>>>> NICHT uid_foreign = 104
>>>>
>>>> im obigen Beispiel dürften nur 1 und 2 ausgegeben werden...
>>>>
>>>> mysql 5...
>>>>
>>>> Muss ich mit virtuellen Tabellen arbeiten? Mit Group komme ich nicht
>>>> weiter...
>>>>
>>>> vg
>>>> alisha
>>>>
>>>> _______________________________________________
>>>> TYPO3-german mailing list
>>>> TYPO3-german at lists.typo3.org
>>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>>
>>
>> _______________________________________________
>> TYPO3-german mailing list
>> TYPO3-german at lists.typo3.org
>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>



More information about the TYPO3-german mailing list