проблем при LEFT JOIN

RiddleR

Registered
Ам, ще може ли някой да ми обясни малко, четох из нета насам натам ..и не мога да го схвана ... тва LEFT JOIN ...

искам да изкарвам едни коментари като правя така :

$query = mysql_query("SELECT * FROM `mcom` WHERE `pesen`='$id'") or die(mysql_error());

в таблицата с коментари записвам и ид-то на потребителя ...

знам че с LEFT JOIN мога да изкарвам примерно аватара, и другите глупости от таблицата на потребителите ..

ама като не му разбирам на тва пусто чудо мъчих се ... ама нещо не става ..

та ще бъде ли някой така добър да ме светне, че в тва време -10 градуса навънка се попотих докато го направя ... :?
 
LEFT JOIN свързва 2 таблици при някакво условие

SELECT * FROM `comments` LEFT JOIN `users` ON (`comments`.`user_id`=`users`.`id`)

това е примерна заявка за коментари и потребител, както ти спомена.
 
хм , това добре ама пак нещо не мога да се справя ...
Код:
$query = mysql_query("SELECT * FROM `mcom` LEFT JOIN `users` ON (`pesen`='$id'.`userid`=`users`.`$id`)") or die(mysql_error());

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.`userid`=`users`.`37`)' at line 1
 
SELECT * FROM mcom as m LEFT OUTHER JOIN users as u ON тук кой полета от таблиците да са равни WHERE m.pesen = '$id';
сега да обясня: след ОN трявба да зададаеш кой полета ще са ти равни от двете таблици като за таблица mcom я съкратих с m, users с u (така е по лесно). Избягвай да вземаш всички полета от таблиците, пример да вземеш поле или да зададеш поле от таблиците:
m.pesen и u.username. Първо се изписва таблицата от кадето ще вземеш полето и след това самото поле
 
Код:
SELECT
      `users`.*,
      `mcom`.*
FROM
      `users`
LEFT JOIN
      `mcom` ON (`mcom`.`user_id` = `users`.`user_id`)
WHERE
      `users`.`user_id` = $id

Виж само полетата по които връзваш дали съвпадат.
 

Back
Горе