Как да сложа LIMIT 1 на една таблица

MaLa_NocHe

Registered
Здравейте, тукощо опитвам да сложа LIMIT 1 само на таблица Aно не става... Ето заявката:

Код:
$bb = mysql_query("SELECT SQL_CACHE b.name AS nameM, a.name AS nameB FROM imdb_box AS a INNER JOIN imdb_box_movies AS b ON b.box = a.id ORDER by a.id DESC, b.id ASC") or die (mysql_error());
 
DeathGuard_ каза:
$bb = mysql_query("SELECT SQL_CACHE b.name AS nameM, a.name AS nameB FROM imdb_box AS a INNER JOIN imdb_box_movies AS b ON b.box = a.id ORDER by a.id DESC, b.id ASC LIMIT 1") or die (mysql_error());

То това става за самия бокс изкарва един, но филмите които са от другата таблица не ги вади.. щот се едно
1. бокс
10 филма общо 11 резултата т.е. ти оказваш ЛИМИТ 1 и то тея 11 вади само бокса демек първия :) т.е. това не е решението което ми трябва.
 
Мисля си ,че няма начин да го направиш по този начин , но може пък да пробваш с UNION какво ще стане :idea:
 
Код:
$bb = mysql_query("SELECT SQL_CACHE b.name AS nameM,
a.name AS nameB 
FROM (SELECT * FROM imdb_box LIMIT 1) AS a 
INNER JOIN 
imdb_box_movies AS b 
ON b.box = a.id 
ORDER by a.id DESC, 
b.id ASC") or die (mysql_error());
8)
п.п.:Значи nuked by union :D :lol: :lol:
 
koko5 каза:
Код:
$bb = mysql_query("SELECT SQL_CACHE b.name AS nameM,
a.name AS nameB 
FROM (SELECT * FROM imdb_box LIMIT 1) AS a 
INNER JOIN 
imdb_box_movies AS b 
ON b.box = a.id 
ORDER by a.id DESC, 
b.id ASC") or die (mysql_error());
8)
п.п.:Значи nuked by union :D :lol: :lol:

ГРЕШКА:

1. Не изкарва името на бокса.
2. Вади грешни филми...филми които не са за този бокс.
 
Между другото имам друг проблем, с друга заявка която е идеална само дето не вади никаква стойност от COUNT(b.id) и COUNT(c.id)

Код:
$RCats = mysql_query("SELECT SQL_CACHE COUNT(a.idCat) AS broika_kat, COUNT(b.id) AS broika_temi,COUNT(c.id) AS broika_otgovori,a.idCat AS k1, b.idCat AS k2, c.idCat AS k3, a.name AS nm, a.description AS ds FROM imdb_forum_cats AS a INNER JOIN imdb_forum_temi 
AS b INNER JOIN imdb_forum_answers AS c ON b.idCat = a.idCat OR c.idCat = a.idCat GROUP BY a.idCat") or die (mysql_error());

****По -точно изкарва някакви нереални резултати/...
 
MaLa_NocHe каза:
ГРЕШКА:

1. Не изкарва името на бокса. -съмнявам се
2. Вади грешни филми...филми които не са за този бокс.
Въпроса ти е как да добавиш лимит на таблица А - по този начин. Не си дал скрипта на таблиците да го тествам... а за 2.) явно трябва да добавиш where , както и да прецениш дали джойна е INNER!

MaLa_NocHe каза:
****По -точно изкарва някакви нереални резултати/...
Неправилно групиране
 
koko5 каза:
MaLa_NocHe каза:
ГРЕШКА:

1. Не изкарва името на бокса. -съмнявам се
2. Вади грешни филми...филми които не са за този бокс.
Въпроса ти е как да добавиш лимит на таблица А - по този начин. Не си дал скрипта на таблиците да го тествам... а за 2.) явно трябва да добавиш where , както и да прецениш дали джойна е INNER!

MaLa_NocHe каза:
****По -точно изкарва някакви нереални резултати/...
Неправилно групиране

Е пробвам:

GROUP BY a.idCat ама изкарва 500,1000,640 ... някакви нереални :( как мога да оправя?
 
Код:
 $bb = mysql_query("SELECT SQL_CACHE b.name AS nameM, a.name AS nameB FROM imdb_box LIMIT 1 UNION AS a INNER JOIN imdb_box_movies AS b ON b.box = a.id ORDER by a.id DESC, b.id ASC") or die (mysql_error());
 

Back
Горе