2016-06-01 5 views
1

Hallo definiert Ich versuche, diese Abfrage mit Lehre laufenZeile 0, Spalte 51 in der Nähe von '(SELECT FLOOR (RAND()': Fehler: Klasse '(' nicht

$query = $em->createQuery("select a from 
            (SELECT FLOOR(RAND() * 99999) AS random_num) a, 
            'AdminBundle:Video' B 
            WHERE B.VIDEO_KEY NOT IN (A.RANDOM_NUM)"); 
$nums = $query->getResult(); 

Aber anstatt ich. sind diesen Fehler,

[Semantical Error] line 0, col 51 near '(SELECT FLOOR(RAND()': Error: Class '(' is not defined.

es große Hilfe wäre, wenn jemand in sie ...

+0

Kurz gesagt: DQL ist nicht SQL. –

+0

Gibt es eine Möglichkeit, dies mit DQL zu tun? :) – vimuth

+0

Hier ist fast die gleiche Frage mit großer Antwort: http://stackoverflow.com/questions/9831985/selecting-from-subquery-in-dql –

Antwort

1
diesen

Versuchen

$query = "select a.random_num from (SELECT FLOOR(RAND() * 99999) AS random_num) a WHERE A.RANDOM_NUM NOT IN (SELECT COALESCE(B.VIDEO_KEY,0) FROM VIDEO B)"; 

     $stmt = $em->getConnection()->prepare($query); 
     $stmt->execute(); 
     $randum = $stmt->fetchAll(); 
aussehen kann