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