<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[用LEFT JOIN的教训 ]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Wed, 10 Sep 2008 07:11:23 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	从前，有这样一个sql:<br/>SELECT v.*,v2s_subject,v2s.v2s_vid, s.s_views FROM video2sites v2s<br/>&nbsp;&nbsp;&nbsp;&nbsp;LEFT JOIN videos v USING(v_id)<br/>&nbsp;&nbsp;&nbsp;&nbsp;LEFT JOIN stats s USING(v2s_id)<br/>&nbsp;&nbsp;&nbsp;&nbsp;WHERE m_id=&#039;$uid&#039; AND v_censor IN(2,3,4) GROUP BY v.v_id<br/>它一直工作得很正常，但有一天，它突然报错了。<br/><br/>报的错是说不能确定v2s_id，仔细检查一下，原来是videos表中为了查询方便也加入了一个“v2s_id”字段，using就傻了。<br/><br/>抛开数据库设计的因素不谈，其实这样的问题是可以避免的。方法很简单，就是用“ON”来代替“USING”。相信很多人像我一样，写程序的时候能少写一点就少写一点，这样做的后果就是往往会带来一些莫名其妙的麻烦。<br/><br/>改过之后的sql是这样的：<br/>SELECT v.*,v2s_subject,v2s.v2s_vid, s.s_views FROM video2sites v2s<br/>&nbsp;&nbsp;&nbsp;&nbsp;LEFT JOIN videos v ON v.v_id= v2s.v_id<br/>&nbsp;&nbsp;&nbsp;&nbsp;LEFT JOIN stats s ON s.v2s_id=v2s.v2s_id<br/>&nbsp;&nbsp;&nbsp;&nbsp;WHERE m_id=&#039;$uid&#039; AND v_censor IN(2,3,4) GROUP BY v.v_id<br/>这么写虽然麻烦了些，但起码可以保证在某个表中添加字段的时候不会引起冲突。
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] 用LEFT JOIN的教训 ]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>