开发者

Problem with left outer join

I have 2 tables.

Table 1 : t_atc_list

id | a_name | s_title | r_name
------------------------------
80开发者_运维问答 | ss     | 128     | 5

Where s_title & r_name is foreign key.

Table 2 : t_s_list

s_id | title
-------------
128  | Song Title

I want have used left join query on this..to select all values of 't_atc_list' if it mightbe in 't_s_list'..

$query=mysql_query("SELECT t.s_title, s.title from t_atc_list t LEFT OUTER JOIN t_s_list s ON t.s_title=s.s_id");
$row=mysql_fetch_array($query);

While if I use right join its working..

$query=mysql_query("SELECT t.s_title, s.title from t_s_list s RIGHT OUTER JOIN t_atc_list t ON t.s_title=s.s_id");
$row=mysql_fetch_array($query);

Whats the reason left join is not working but right join is going well? And I think both the queries are identical than whats the problem?


This is a strictly data related issue you have there, your SQL syntax is correct, but your data must not line up.

For a visualization of SQL, look here: http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html

Also if you do a right join, that means you are simply getting data from the 2nd table, and nulls in the first. I am just guessing here as I see no real data examples.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜