---
title: "sql having in typoscript"
url: "https://www.typo3.net/d/111770-sql-having-in-typoscript"
source: "typo3.net"
tags: ["TYPO3","TypoScript","Frage"]
created: "2012-08-19"
last_reply: "2012-08-19"
replies: 5
solved: false
page: 1
pages: 1
lang: "de"
---

# sql having in typoscript

TYPO3 › TypoScript · 5 Antworten · gestartet 2012-08-19

## Eröffnungsbeitrag

**xlarge74** · 2012-08-19 · [Beitrag #1](https://www.typo3.net/d/111770-sql-having-in-typoscript/1)

hallo

wie geht man denn mit einer having-clause in typoscript um?
oder wie bekommt man sonst ein count(*) =xxx unter ?

## Antworten

### [#2](https://www.typo3.net/d/111770-sql-having-in-typoscript/2) · xlarge74 · 2012-08-19

das ist mein code ... vielleicht gits ja andere probleme, die ich jetzt so nicht sehe.

```typoscript
     30=COA
      30{
        10 = CONTENT
        10{
          table = tt_news
          select{
            pidInList =46
            where.data = GP:tx_ttnews|cat
            where.wrap = uid_foreign in (|)
            join = tt_news_cat_mm ON (tt_news_cat_mm.uid_local = tt_news.uid)
            andWhere.data = GP:cnt
            andWhere.wrap = having count(*)=|
            groupBy = title
            orderBy = title
          }
          renderObj = COA
          renderObj{
            10 = TEXT
            10{
              field = title
              dataWrap =
              insertData = 1
              wrap = |<br>
            }
          }
        }
      }
```

### [#3](https://www.typo3.net/d/111770-sql-having-in-typoscript/3) · LuP · 2012-08-19

Hallo,

ich kann nicht ganz nachvollziehen, was Du mit dem SELECT bezwecken willst. Vor welchem Hintergrund hast Du den zusätzlichen GP-Parameter cnt eingeführt und warum willst Du gruppieren? Wenn Du erklären würdest, was Du mit dem ganzen ausgeben möchtest, könnte ich vielleicht einen Ansatz finden.

Kleiner Hinweis am Rande: bei GROUP BY macht es nur Sinn - wenn Du hinter SELECT nur Spalten hast, die entweder in der Gruppierung stehen oder Aggregatfunktionen sind.

VG,
LuP

### [#4](https://www.typo3.net/d/111770-sql-having-in-typoscript/4) · xlarge74 · 2012-08-19

> **LuP schrieb:**
>
> Hallo,
>
> ich kann nicht ganz nachvollziehen, was Du mit dem SELECT bezwecken willst. Vor welchem Hintergrund hast Du den zusätzlichen GP-Parameter cnt eingeführt und warum willst Du gruppieren? Wenn Du erklären würdest, was Du mit dem ganzen ausgeben möchtest, könnte ich vielleicht einen Ansatz finden.
>
> Kleiner Hinweis am Rande: bei GROUP BY macht es nur Sinn - wenn Du hinter SELECT nur Spalten hast, die entweder in der Gruppierung stehen oder Aggregatfunktionen sind.
>
> VG,
> LuP

hallo
danke erstmal, dass du zeit investierst...

um ein wenig auszuholen, ich hab für tt_news einen filter selbstgebaut mit javascript und typoscript .... jetzt funktioniert der categoryMode 2 (UND verknüpfung) nicht bei tt_news, dieser bug liegt schon seit version 3.0.1 vor und wird nicht gefixed :-( .... somit habe ich mir ein sql selbstgeschrieben mit direktem zugriff auf die db ohne das plugin  bei der ansicht mit der UND verknüpfung ..

kurzes beispiel ....
meine news heissen "übungen"
es gibt 4 hauptkategorien mit jeder menge childs
ich habe jetzt pro hauptkategorie einen filter ...

die übung xyz hat sub1 sub5 und sub6 zugeordnet

wenn ich jetzt sub1 sub5 und sub 6 auswähle .. soll er nur übungen anzeigen, die wirklich diese 3 hauptkategorien haben(hier liegt das prob bei categoryMode 2, diese macht ODER verknüpfungen, zeigt also alle übungen  an, die zumindest eine der subs hat) ...

zu meinem sql statement

```sql
SELECT * FROM `tt_news` join tt_news_cat_mm on uid = uid_local where uid_foreign in (array1)  group by title having count(*) =cnt
```

da ich in javascript bereits die ausgewählten kategorien in den url übergebe nehme ich diese her lege sie in

```sql
uid_foreign in (array1)
```

(ich weiß, dass auch hier ODER verknüpft wird) und lasse mir die übungen ausgeben, welche zu den kategorien passen .... hier kommt natürlich jede übung mit jeder zugeordneten kategorie  als record ...deswegen das group by   und zu guter letzt die aggregratsfuktion having  bekommt von javascript ebenfalls über den url die anzahl der ausgewählten kategorien übergeben.... somit sage ich dem sql statement, dass er nur solche titel anzeigen soll, die alle kategorien zugeordnet haben..
grundsätzlich kann ich sql und weiß nur nicht wie das in typoscript realisieren soll ... natürlich  denk ich auch oft sehr kompliziert, deswegen kann es sein, dass es eine einfachere lösung gibt

wenns zu kompliziert war, frag einfach nach bitte ;-)

select.docx

### [#5](https://www.typo3.net/d/111770-sql-having-in-typoscript/5) · LuP · 2012-08-19

OK, vielen Dank für die ausführlichen Erklärungen.

Die HAVING-Klausel wird leider nicht direkt unterstützt, aber Du könntest versuchen, sie mittels stdWrap in groupBy zu injizieren:

```typoscript
    groupBy.data = GP:cnt
    groupBy.wrap = title HAVING count(*) = |
```

VG,
LuP

### [#6](https://www.typo3.net/d/111770-sql-having-in-typoscript/6) · xlarge74 · 2012-08-19

Liebe/Lieber LuP !

DANKE vielmals ... es funktioniert ;-)

lg
XL

---

Quelle: „sql having in typoscript“, typo3.net, https://www.typo3.net/d/111770-sql-having-in-typoscript
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
