Dies ist der Code, den ich benutze
$Last_Video = $db->fetch_all('
SELECT VID, thumb
FROM video
WHERE VID IN (
SELECT VID
FROM video
WHERE title LIKE "%'.$Channel['name'].'%"
ORDER BY viewtime DESC
LIMIT 5)
ORDER BY RAND()
LIMIT 1
');
Das ist der Fehler, der mir gibt
Message: Error during SQL execution: SELECT VID, thumb FROM video WHERE VID IN ( SELECT VID FROM video WHERE title LIKE "%funny%" ORDER BY viewtime DESC LIMIT 5) ORDER BY RAND() LIMIT 1<br />
MySQL Error: This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'<br />
MySQL Errno: 1235
Wie kann ich dieses Problem beheben? seine andere Art, es zu machen ... also bekomme ich den Fehler nicht ...
Antworten:
Anstelle von IN können Sie JOIN verwenden
quelle
Sie können unten verwenden, um diesen Fehler zu umgehen.
quelle
select p1.categoryid, p1.productid from products p1 WHERE p1.productid IN (select * from (select p2.productid from products p2 WHERE p2.categoryid=p1.categoryid order by p2.categoryid asc, p2.unitprice desc limit 3) as tabelka);
Sie brauchen hier keine Unterabfrage. Versuche dies:
In MySQL 5.0.26 und höher wird folgende Fehlermeldung angezeigt:
Referenz .
quelle
viewtime
Fügen Sie hinzu, dies ist Ihr Zustand
quelle
Warum können Sie nicht einfach verwenden :?
Was ist mit Unterabfragen hier?
quelle