sql语句级联查询

问题:想了半天终于解决了这个问题,mysql中的级联查询非诚好使!

SELECT
	t.*, x.*, w.*
FROM
	file_attribute_info t
LEFT JOIN file_basic_info x ON t.file_extra_id = x.file_extra_id
LEFT JOIN weixin_pub_user w ON t.weixin_user_id = w.user_id
where //在动态sql语句中<where>是会自己去掉第一个and的,在这是使用where做查询条件
t.author_place = '江西'
and t.first_author='小柒'
and x.file_size='128512'
<select id="getAllFileAttrInfo" resultType="java.util.Map" parameterType="java.util.Map">
        SELECT
        t.*, x.*, w.*
        FROM
        file_attribute_info t
        LEFT JOIN file_basic_info x ON t.file_extra_id = x.file_extra_id
        LEFT JOIN weixin_pub_user w ON t.weixin_user_id = w.user_id
        having 1=1  //这里是使用的having进行连接,需要加上一个没有的值(其实在这里很有用)
        <if test="author_place!=null and author_place!=''">
            and t.author_place = #{author_place}
        </if>
        <if test="first_author!=null and first_author!=''">
            and t.first_author=#{first_author}
        </if>
        <if test="file_size!=null and file_size!=''">
            and x.file_size=#{file_size}
        </if>
    </select>
▶▶▶做事之前还是得先想想以前学过的东西!1=1确实是忘掉了!

猜你喜欢

转载自blog.csdn.net/qq_35971258/article/details/79900943