---
title: "SQL-Abfrage (Join)"
url: "https://www.typo3.net/d/67350-sql-abfrage-join"
source: "typo3.net"
tags: ["Extensions","Entwicklung","Frage"]
created: "2007-08-27"
last_reply: "2007-08-27"
replies: 9
solved: false
page: 1
pages: 1
lang: "de"
---

# SQL-Abfrage (Join)

Extensions › Entwicklung · 9 Antworten · gestartet 2007-08-27

## Eröffnungsbeitrag

**laser** · 2007-08-27 · [Beitrag #1](https://www.typo3.net/d/67350-sql-abfrage-join/1)

Hallo,

ich will gerade eine SQL-Abfrage realisieren, ich mach das mit dieser "Funktion" hier:

```php
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery (
                'f.*,k.name AS kname',
                $table . ' f LEFT JOIN ' . $table2 . ' k ON k.uid = ' . $value,
                'f.kategorie = ' . $value . ' AND f.deleted = "0" AND f.pid IN (' . $pid . ')'.
                  $this->cObj->enableFields($table),
                '',
                'f.firma ASC');
```

Irgendwie will mein JOIN nicht, oder hab ich da jetzt was total durcheinander bekommen? Bin kurz davor das mit einem normalen (mysql_query) Statement zu lösen :D

Hab das mal mitn normalen probiert:

```php
      foreach($catId AS $value) {
        $blub = mysql_query("
          SELECT
            f.*,
            k.name AS kname
          FROM
            $table f
            LEFT JOIN $table2 k ON k.uid = $value
          WHERE
            f.kategorie = $value
            AND
            f.deleted = 0
            AND
            f.pid IN ($pid)
          ORDER BY
            f.firma ASC
        ") Or die (mysql_error());
        return $this->getItem($blub);
      }
```

Der geht ..

## Antworten

### [#2](https://www.typo3.net/d/67350-sql-abfrage-join/2) · laser · 2007-08-27

*doppelpost*

Hab das ganze jetzt so gelöst:

```php
$res = $GLOBALS['TYPO3_DB']->sql(TYPO3_db,"
          SELECT
            f.*,
            k.name AS kname
          FROM
            $table1 f
            LEFT JOIN $table2 k ON k.uid = $value
          WHERE
            f.kategorie = $value
            AND
            f.deleted = 0
            AND
            f.pid IN ($pid)
          ORDER BY
            f.firma ASC
          ");
        $content .= $this->getItem($res);
```

Kann mir wer sagen ob das relativ sauber ist? Also sauber in Hinsicht auf TYPO3, muss ich noch irgendwas escapen oder passt das?

### [#3](https://www.typo3.net/d/67350-sql-abfrage-join/3) · steffenk · 2007-08-27

Du kannst das schon mit dem DB-Wrapper machen, lass Dir einfach die fertige Query anzeigen:

```php
t3lib_div::debug($GLOBALS['TYPO3_DB']->SELECTquery (
                'f.*,k.name AS kname',
                $table . ' f LEFT JOIN ' . $table2 . ' k ON k.uid = ' . $value,
                'f.kategorie = ' . $value . ' AND f.deleted = "0" AND f.pid IN (' . $pid . ')'.
                  $this->cObj->enableFields($table),
                '',
                'f.firma ASC'));
```

### [#4](https://www.typo3.net/d/67350-sql-abfrage-join/4) · laser · 2007-08-27

Danke für die nette Debugging-Ausgabe, das Query scheint auch so zu stimmen aber trotzdem meckert er, ich versteh es nicht.

P.S. Es ist schon normal das am Anfang und am Ende ein | steht, oder?

### [#5](https://www.typo3.net/d/67350-sql-abfrage-join/5) · steffenk · 2007-08-27

ja, debug macht das drumrum bei Strings.

Was meckert er denn, Fehlertext?

### [#6](https://www.typo3.net/d/67350-sql-abfrage-join/6) · laser · 2007-08-27

> Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/www/web65/html/cms/t3lib/class.t3lib_db.php on line 796

Das komische ist, das es nur bei diesem Query kommt, es kann also nicht am danach auszuführenden Code liegen, oder?

### [#7](https://www.typo3.net/d/67350-sql-abfrage-join/7) · steffenk · 2007-08-27

aktivier im Installtool doch mal sqlDebug, dann siehst Du auch die Query die zum Fehler führt (und in welcher Funktion die aufgerufen wird).

### [#8](https://www.typo3.net/d/67350-sql-abfrage-join/8) · laser · 2007-08-27

Hab ich, das Ergebnis ist das gleiche wie mein Post zuvor.

### [#9](https://www.typo3.net/d/67350-sql-abfrage-join/9) · steffenk · 2007-08-27

liefert die query denn ein Ergebnis im phpmyadmin?

//man, jetzt ist mein Bildschirm kaputt, nachdem ich mehrfach auf Dein Avatar gekloppt habe :D

### [#10](https://www.typo3.net/d/67350-sql-abfrage-join/10) · laser · 2007-08-27

Ich sagte ja das es über den andere Code, siehe Post 2, funktioniert. Falls du das meinst.

Hehe, das mein Haustier :p

---

Quelle: „SQL-Abfrage (Join)“, typo3.net, https://www.typo3.net/d/67350-sql-abfrage-join
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
