Hallo Ralf,

nochmal zurück zu deinem ursprünglichen cObject:

item-count.cObject = TEXT
item-count.cObject.numRows.table = tx_ext_item
item-count.cObject.numRows.select {
  join = tx_ext_item_cat_mm ON ( tx_ext_item_cat_mm.uid_local =
tx_ext_item.uid )
  pidInList = 688
  andWhere.cObject = COA
  andWhere.cObject {
    100 = TEXT
    100.value = tx_ext_item_cat_mm.uid_foreign = {register:cat}
    100.insertData = 1
    100.noTrimWrap = |||
    110 = TEXT
    110.value = tx_ext_item_cat_mm.uid_foreign = {register:parentcat}
    110.insertData = 1
    110.noTrimWrap = | AND ||
  }
}

Wenn ich nichts falsch verstehe, wäre der Where-clause (mal mit fiktiven Zahlen eingesetzt für deine Register): andWhere tx_ext_item_cat_mm.uid_foreign = 1 AND tx_ext_item_cat_mm.uid_foreign = 2

Dein tx_ext_item_cat_mm.uid_foreign kann ja nicht gleichzeitig 1 und 2 sein.

Vielleicht muss die Abfrage so heißen:
andWhere.dataWrap = tx_ext_item_cat_mm.uid_foreign IN ({register:parentcat}) AND tx_ext_item_cat_mm.uid_foreign IN ({register:cat})
insertData = 1

Bin mir grad nur nicht sicher ob bei IN noch Hochkommata in die Klammer gehören, also IN ('{register:parentcat}')

Gruß
Susanne


Am 19.02.2013 14:26, schrieb Ralf-Rene Schröder:
ich pushe die Frage noch einmal...
keiner eine Idee wo der Unterschied in der direkten SQL Abfrage und der
über TypoScript liegt ???

Am 14.02.2013 00:55, schrieb Ralf-Rene Schröder:
niemand eine Idee warum das SQL direkt das richtige Ergebniss liefert,
das über TypoScript erstellte jedoch nicht ???

Am 01.02.2013 18:04, schrieb Ralf-Rene Schröder:
eigentlich musst du ein mit deiner mm-tabell ein join auf sich selber
machen. damit so etwas geht musst du mit alias arbeiten
das war auf jeden Fall schon mal die richtige Richtung...
in MySQL habe ich jetzt folgende Abfrage die mir das korrekte Ergebniss
liefert...

SELECT *
FROM tx_ifcwmedia_mediaitems
JOIN tx_ifcwmedia_mediaitems_genres_mm AS mm1
ON(tx_ifcwmedia_mediaitems.uid=mm1.uid_local)
JOIN tx_ifcwmedia_mediaitems_genres_mm AS mm2
ON(tx_ifcwmedia_mediaitems.uid=mm2.uid_local)
WHERE mm1.uid_foreign=30 AND mm2.uid_foreign=4

aber das (jetzt mittlerweile völlig reduzierte und hard kodierte)
Typoscript liefert kein Ergebniss ???
(join = ist natürlich EINE Zeile)

count = TEXT
count.numRows.table = tx_ifcwmedia_mediaitems
count.numRows.select {
   join = tx_ifcwmedia_mediaitems_genres_mm AS mm1
ON(tx_ifcwmedia_mediaitems.uid=mm1.uid_local)
JOIN tx_ifcwmedia_mediaitems_genres_mm AS mm2
ON(tx_ifcwmedia_mediaitems.uid=mm2.uid_local)
   where = mm1.uid_foreign=30 AND mm2.uid_foreign=4
}

kann es sein das im TypoScript join das AS nicht möglich ist ???




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

Antwort per Email an