如何从多列中检索不同的值

时间:2010-04-21 14:39:55

标签: sql sql-server-2005

我有一个平面文本文件数据,我将其导入SQL Server表。

根据数据文件创建具有指定名称和表的表以及多列。

现在我需要一个返回数据及其计数的查询。 e.g。

数据文件:

BREAD,MILK
BREAD,DIAPER,BEER,EGGS
MILK,DIAPER,BEER,COKE
BREAD,MILK,DIAPER,BEER
BREAD,MILK,DIAPER,COKE 
BREAD,ICE,MANGO
JUICE,BURGER

结果应为

BREAD | 5
MILK  | 4
DIAPER| 4

等等。

2 个答案:

答案 0 :(得分:1)

猜测需要看看你的方案,但是,也许是这样的?

SELECT
    ItemValue,
    COUNT(*)
FROM
(
    SELECT
        Column1 ItemValue
    FROM
        DataTable
    UNION ALL
    SELECT
        Column2 ItemValue
    FROM
        DataTable
    UNION ALL
    SELECT
        Column3 ItemValue
    FROM
        DataTable
    UNION ALL
    SELECT
        Column4 ItemValue
    FROM
        DataTable
) UnionDataTable

答案 1 :(得分:0)

根据不完整的信息,这是一个疯狂的猜测:

select Item, count(*)
from Items
group by Item