[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