Hi alisha,

ich bin mir nicht ganz sicher ob das hier wirklich funktioniert und ob es
nicht eine besser Lösung gibt.
Wahrscheinlich müsste man die Ergebnisse wohl eher in php direkt auswerten.

Aber bei meinen Versuchsdaten hat das hier zum Erfolg geführt.

SELECT uid_local, GROUP_CONCAT(uid_foreign SEPARATOR ',') AS ufc
FROM `tt_news_cat_mm`
GROUP BY uid_local
HAVING (FIND_IN_SET('101',ufc) AND FIND_IN_SET('102',ufc) AND NOT
FIND_IN_SET('104',ufc))

Schau mal ob das bei dir funktioniert, würde mich sehr interessieren.

Viel Glück :-)

Hier nochmal zum nachlesen.
http://dev.mysql.com/doc/refman/5.1/de/group-by-functions.html#id753415
http://dev.mysql.com/doc/refman/5.1/de/select.html#id774050
http://dev.mysql.com/doc/refman/5.1/de/string-functions.html#id721370


--
Mit freundlichen Grüßen

Sebastian May


-----Ursprüngliche Nachricht-----
Von: typo3-german-boun...@lists.typo3.org
[mailto:typo3-german-boun...@lists.typo3.org] Im Auftrag von Alisha
Gesendet: Dienstag, 31. Januar 2012 14:45
An: typo3-german@lists.typo3.org
Betreff: Re: [TYPO3-german] sql-statement

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@lists.typo3.org
>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>

_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an