标签: sql-server-2008

透视SQL Server 2008问题

我在SQL Server 2008中创建了以下查询

SELECT dimUser.EmpFName, dimUser.EmpLName, dimUser.EmpStartDt, dimUser.MgrEmpFullName1, 
    dimUser.PrimaryJobName, dimUser.PrimaryOrgName, Org.Org_Name
FROM dimUser 
INNER JOIN tblEmpOrg AS fact 
  ON dimUser.ID = fact.EmpOrg_EmpFK 
INNER JOIN Org 
  ON fact.EmpOrg_OrgFK = Org.Org_PK
Run Code Online (Sandbox Code Playgroud)

数据产生多行,因为每个用户有许多不同的组织名称.

Employee Name  Manager Name          Org_Name
Neil Jones     Elizabeth O'Donnell   USA 
Neil Jones     Elizabeth O'Donnell   AFG 
Neil Jones     Elizabeth O'Donnell   USA REG A
Run Code Online (Sandbox Code Playgroud)

如何透视此查询以为不同的组织生成多个列.IE Org 1,Org 2,Org 3等

Employee Name  Manager Name         Org_NAME 1  Org_Name 2  Org_Name 3
Neil Jones     Elizabeth O'Donnell  USA         AFG         USA REG A
Run Code Online (Sandbox Code Playgroud)

sql sql-server pivot sql-server-2008

-3
推荐指数
1
解决办法
165
查看次数

无法在动态SQL中使用CASE表达式

在以下查询中,t2.stock它有两个值(10).我希望1值输出为IN0值为OUT.问题是我不能CASE在这种类型的查询中使用表达式.有没有办法做到这一点?

use DB1  
go

declare @SQL varchar(500),

Set @SQL=' select t1.ID,t1.Name,t2.stock 
    from table1 t1 
        inner join table2 t2 on t1.ID = t2.ID'

exec (@SQL)
Run Code Online (Sandbox Code Playgroud)

sql sql-server-2008

-3
推荐指数
1
解决办法
1055
查看次数

列的唯一值

我的表格如下所示,我需要获得colA和colb的唯一值,其值为colC的第一个值

ID    ColA   ColB   ColC
1      A1     B1    c1
2      A1     B1    c2
3      A2     B2    c3
4      A2     B2    c4
Run Code Online (Sandbox Code Playgroud)

预期结果

A1  B1   C1
A2  B2   c3
Run Code Online (Sandbox Code Playgroud)

对此有任何帮助

sql-server sql-server-2008

-3
推荐指数
1
解决办法
59
查看次数

在SQL Server中插入Statement

使用INSERT语句时,我必须在SQL Server中为数据类型datetime输入什么数据

sql t-sql sql-server-2008

-4
推荐指数
1
解决办法
370
查看次数

数据库中的DOB,一年后我想增加年龄并更新到数据库中

我在数据库中存储出生日期,一年后我想增加年龄并更新到数据库中.

c# sql-server-2008 winforms

-4
推荐指数
1
解决办法
203
查看次数

选择语句作为存储过程

我有这个查询,我想用作存储过程:

  SELECT ISNULL(P.firstname, s.firstname) AS Expr1,ISNULL(P.lastname,
  s.lastname) AS Expr2 FROM comment AS C LEFT OUTER JOIN professor AS P ON P.ID =   

  C.PID LEFT OUTER JOIN student AS s ON s.ID = C.SID

  WHERE (C.VID = @VID)
Run Code Online (Sandbox Code Playgroud)

它应该返回Expr1和Expr2的值

我试图宣布输入和输出,但没有运气

请帮忙

编辑:

  CREATE PROCEDURE [dbo].[GetDepartmentName]
  @ID int,
  @fName varchar(50) OUTPUT
   @lName varchar(50) OUTPUT
  AS


SELECT @fName=COALESCE(p.firstname, s.firstname)   @lName=COALESCE(p.lastname,     

   s.lastname)as 
  FROM comment c
  LEFT JOIN Professor p
    ON c.pid = p.id
  LEFT JOIN Student s
    ON c.sid = s.id
 WHERE c.vid = …
Run Code Online (Sandbox Code Playgroud)

t-sql stored-procedures sql-server-2008

-4
推荐指数
1
解决办法
4483
查看次数

为什么SQL Server中没有分隔的,仅限整数的编目选项?

有什么我想念的吗?

我想要创建的基本上是由空格(或您想要的任何类型)分隔的索引表.我意识到仅仅在int类型数据列上不可能进行全文搜索,因为它将"空格"理解为要在整个目录中编制索引的分隔数据的分隔符.

我确实意识到它确实允许我索引varbinary类型数据,但为什么不仅仅是int用空格分隔的数据,而不是包括要搜索的整数AND文本数据.IE,a

 SEARCH * FROM MyTable
 WHERE CONTAINS(indexedcolumn, '1189')
Run Code Online (Sandbox Code Playgroud)

使用为表格定义的全文索引/目录,如下所示:

 indexedColumn      secondDelimitedIntColumn
 1189               34 34209 1989 3 5
Run Code Online (Sandbox Code Playgroud)

是不可能的,但是

 SEARCH * FROM MyTable
 WHERE CONTAINS(uniqueColumn, 'a1189')
Run Code Online (Sandbox Code Playgroud)

WOULD使用包含以下列的表格上的全文索引:

 uniqueColumn secondDelimitedIntColumn
 a1189        b34 b34209 b1989 b3 b5  
Run Code Online (Sandbox Code Playgroud)

所以基本上CONTAINS()在任何具有全文索引的列上执行搜索只有在整数字符串附加了一些文本时才会起作用.

但我的问题是"为什么我不能只使用由空格分隔的整数字符串,这为我节省了必须添加虚拟文本的步骤,以便让SQL Server允许我对索引的整数字符串执行全文搜索?"

提前致谢!

indexing search integer catalog sql-server-2008

-4
推荐指数
2
解决办法
494
查看次数

如何根据SQL中的每个不同ID对数字进行平均?

我有CommentRating一个持有外键的表DrinkId.我试图获得每个的平均评分DrinkId,并且我想要显示评分最高的前三名饮料.

commentRating  drinkID 

     9           7

     9           4

     8          11

     8           7

     7           4

     6           4

     6          11
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止的SQL,但我不知道如何更改它.

Select TOP(3)(AVG(commentRating)),DISTINCT(drinkID)
FROM  Comment order by commentRating desc
Run Code Online (Sandbox Code Playgroud)

我如何平均评分,选择前三个评级的饮料,并在SQL中返回?

sql sql-server sql-server-2008

-4
推荐指数
1
解决办法
753
查看次数

将listbox项插入sql server数据库

我使用此代码在listbox1中插入数据:

if (!IsPostBack)
        {
            DataTable dt = new DataTable();
            string query = "SELECT * FROM [Qualification]";
            SqlDataAdapter objda = new SqlDataAdapter(query, conn);
            //conn.Open();
            objda.Fill(dt);
            if (dt.Rows.Count > 0)
            {
                ListBox1.DataSource = dt;
                ListBox1.DataTextField = "QDesc";
                ListBox1.DataValueField = "QID";
                ListBox1.DataBind();
            }
        }
Run Code Online (Sandbox Code Playgroud)

这些项目listbox2按钮点击进入

按钮点击代码是:

protected void Button1_Click1(object sender, EventArgs e)
    {
         string strItemText = "";
        string strItemValue = "";
        foreach (ListItem listItem in ListBox1.Items)
        {
            if (listItem.Selected == true)
            {
                strItemValue += listItem.Text; 
                 }
        }

        ListBox2.Items.Add(strItemText+""+ strItemValue);
        ListBox1.Items.Remove(ListBox1.SelectedItem);

    } …
Run Code Online (Sandbox Code Playgroud)

c# asp.net sql-server-2008

-4
推荐指数
1
解决办法
1万
查看次数

检查sql中的日期是否超过1年

ID  Source  Date           Desc      flgdeladvsourcedetails
22  5       1-Oct-12       a              NULL
23  5       1-Nov-12       b              NULL
24  5       1-Dec-12       c              NULL
25  5       1-Nov-12       d              NULL
26  5       1-Dec-12       e              NULL
27  5       1-Sep-12       f              NULL
28  5       24-Sep-12      g              NULL
29  5       7-Aug-12       h              NULL
30  5       1-Sep-12       i              NULL
31  5       1-Sep-12       j              NULL
32  5       15-Sep-12      k              NULL
Run Code Online (Sandbox Code Playgroud)

以上日期是合同开始日期.我必须显示合同日期不超过1年的记录.

在此日期的1年后,不应显示记录.

我想查看表的各个日期.不是与当前的date.like例子.如果当前日期是2013年第二季度,则不会看到1个10月12日的数据

sql t-sql sql-server sqlite sql-server-2008

-4
推荐指数
1
解决办法
1584
查看次数