51Testing软件测试论坛

标题: SQL求教 [打印本页]

作者: iced_snowflake    时间: 2011-3-18 11:05
标题: SQL求教
现有查询语句如下:
Select  f.ProductId,a.ProductDataId,a.code,a.Name
FROM dbo.D_Product a With(NoLock)
INNER JOIN D_ProductRelation f
        ON a.ProductDataId = f.ProductDataId
        AND a.[Type] IN(1,8) AND f.[Type] = 1
WHERE
        a.code like '%AC%'
and
        f.ProductId IN
                (Select ProductId From V_CategoryProduct
                 WHERE SecondCategoryId = 181
                );

另外还有一张表T_ProductNickelFreeImages,这个表里面有2个字段:ProductId、ImageUrl;
现在我想在上面的查询结果中加一个T_ProductNickelFreeImages.ImageUrl,其中a.ProductDataId=T_ProductNickelFreeImages.ProductId;
应该在上面的SQL中如何修改呢?多谢啦!
作者: heavy200t    时间: 2011-3-18 13:13
Select  f.ProductId,a.ProductDataId,a.code,a.Name, T_ProductNickelFreeImages.ImageUrl
FROM dbo.D_Product a With(NoLock)
INNER JOIN D_ProductRelation f
        ON a.ProductDataId = f.ProductDataId
        AND a.[Type] IN(1,8) AND f.[Type] = 1
INNER JOIN T_ProductNickelFreeImages
        ON a.ProductDataId=T_ProductNickelFreeImages.ProductId
WHERE
        a.code like '%AC%'
and
        f.ProductId IN
                (Select ProductId From V_CategoryProduct
                 WHERE SecondCategoryId = 181
                );
作者: iced_snowflake    时间: 2011-3-18 13:37
谢谢楼上的回复,忘记说了,T_ProductNickelFreeImages这个表的ImageUrl这个字段的值,有空值的情况,按楼上的回复,会把为空值的数据过滤掉勒!
作者: iced_snowflake    时间: 2011-3-18 13:39
用左连接是不是可以不过滤掉为空值的数据




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2