获得所有列sqlserver的不同值

时间:2016-04-09 11:38:26

标签: sql

select 
    distinct TagName as new, *,(REPLACE(TagName,' ','-')) as SeoProduct_Name 
from 
    dbo.tbl_Image_Master 
        inner join  
    dbo.tbl_size 
        on tbl_size.Size_Id=tbl_Image_Master.Size_Id 
        inner join 
    tbl_category 
        on tbl_category.Cat_Id = tbl_Image_Master.Cat_Id

我想选择所有列

的不同标签名称

3 个答案:

答案 0 :(得分:0)

如果要从查询中的表中获取所有列,可以使用以下语法:

TableName.*

示例:

Select Table1.Col1, Table1.* from Table1;

我会发布你的查询,但我不确定你想要所有列的表。

答案 1 :(得分:0)

SELECT * FROM TBL WHERE TAGNAME IN (
SELECT DISTINCT TAGNAME FROM TBL)

OR

SELECT * FROM (
SELECT *,ROW_NUMBER() OVER (PARTITION BY TAGNAME ORDER BY (SELECT 1)) AS ROWNUM FROM TBL WHERE TAGNAME) 
WHERE ROWNUM =1

希望它能解决目的!!!

答案 2 :(得分:0)

在不同的查询中,您无法选择所需的所有列,因为如果您这样做,您将获得多个您不需要的值。

所以你可以做的就是在另一个查询中使用你的查询,例如

SELECT TagName AS new, *,(REPLACE(TagName,' ','-')) AS SeoProduct_Name,
<other_colums_you_need>
FROM <table>
WHERE ItemID IN (
                  SELECT DISTINCT TagName <replaceWithSomeID>
                    FROM dbo.tbl_Image_Master 
                    INNER JOIN dbo.tbl_size 
                    ON tbl_size.Size_Id=tbl_Image_Master.Size_Id 
                    INNER JOIN tbl_category 
                    ON tbl_category.Cat_Id = tbl_Image_Master.Cat_Id
                    )

请记住,您需要的值(行)需要具有唯一标识符或ID列,因此请确保在子查询中返回所需值的唯一ID。因此,您只能获得所需的信息。

相关问题