[TYPO3-german] Vielleicht sieht ja jemand meinen Logikfehler im SQL Aufruf ???
SW
sw1977 at online.de
Tue Feb 19 17:44:34 CET 2013
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 ???
>>>
>>
>
More information about the TYPO3-german
mailing list