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


_______________________________________________
TYPO3-german mailing list
[email protected]
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

--
Michael Kasten | http://m-kasten.de
Im wirklichen Leben gibt es kein [Strg]+[Z]
_______________________________________________
TYPO3-german mailing list
[email protected]
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an