标签: sql

Visual Studio'SQL Server 2008 Server Project'与'Sql Server 2008数据库项目'?

我看不到找到差异的快速解释,所以我可以找出使用哪些.

一个用于服务器,一个用于数据库?我不知道这意味着什么..

基本上我们正在做一个新的Web应用程序,我想看看这些项目类型可以在跟踪数据库代码/架构等方面为我提供什么.

sql database sql-server-2008

11
推荐指数
2
解决办法
8015
查看次数

使用具有一对多关系的连接最小化SQL查询

因此,让我先说一下,我不是一个SQL向导.我想要做的是作为一个概念简单,但在尝试最小化我正在执行的数据库查询量时给了我一个小小的挑战.

假设我有一个部门表.每个部门都有一份员工清单.

列出所有部门以及每个部门中哪些员工的最有效方式是什么.

因此,例如,如果我有一个部门表:

id   name
1    sales
2    marketing
Run Code Online (Sandbox Code Playgroud)

还有一张人员表:

id   department_id   name
1    1               Tom
2    1               Bill
3    2               Jessica
4    1               Rachel
5    2               John
Run Code Online (Sandbox Code Playgroud)

列出所有部门和每个部门所有员工的最佳方式是这样的:

销售

  • 汤姆
  • 法案
  • 雷切尔

营销

  • 杰西卡
  • 约翰

假装两张桌子实际上都很庞大.(我想避免获取部门列表,然后循环遍历结果并为每个部门执行单独查询).当状态和注释存储在单独的表中时,类似地考虑在类似Facebook的系统中选择状态/注释.

mysql sql

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

"如果不存在则创建表" - 如何检查模式?

是否有(或多或少)标准方法不仅检查名为mytableexists 的表是否存在,还检查其模式是否与它应该是什么类似?我正在试验H2数据库,并且

CREATE TABLE IF NOT EXISTS mytable (....)
Run Code Online (Sandbox Code Playgroud)

声明显然只检查表的名称.如果有一个具有给定名称但具有不同模式的表,我希望得到一个例外.

sql database h2 create-table

11
推荐指数
2
解决办法
2万
查看次数

SQL INSERT性能省略字段名称?

有谁知道从INSERT查询中删除字段名称是否会带来一些性能改进?

我的意思是:

INSERT INTO table1 VALUES (value1, value2, ...)
Run Code Online (Sandbox Code Playgroud)

更快地完成数据库而不是这样做:

INSERT INTO table1 (field1, field2, ...) VALUES (value1, value2, ...)
Run Code Online (Sandbox Code Playgroud)

我知道这可能是一个毫无意义的性能差异,但只是要知道.

我通常使用MySQL和PostgreSQL作为DB.

sql performance

11
推荐指数
1
解决办法
1540
查看次数

Django:Paginator +原始SQL查询

我在我的网站上到处都使用Django Paginator,甚至还写了一个特殊的模板标签,以使它更方便.但现在我进入了一个状态,我需要在其中创建一个复杂的自定义原始SQL查询,没有LIMIT将返回大约100K记录.

如何在自定义查询中使用Django Pagintor?

我的问题的简化示例:

我的模特:

class PersonManager(models.Manager):

    def complicated_list(self):

        from django.db import connection

        #Real query is much more complex        
        cursor.execute("""SELECT * FROM `myapp_person`""");  

        result_list = []

        for row in cursor.fetchall():
            result_list.append(row[0]); 

        return result_list


class Person(models.Model):
    name      = models.CharField(max_length=255);
    surname   = models.CharField(max_length=255);     
    age       = models.IntegerField(); 

    objects   = PersonManager();
Run Code Online (Sandbox Code Playgroud)

我在Django ORM中使用pagintation的方式:

all_objects = Person.objects.all();

paginator = Paginator(all_objects, 10);

try:
    page = int(request.GET.get('page', '1'))
except ValueError:
    page = 1

try:
    persons = paginator.page(page)
except (EmptyPage, InvalidPage):
    persons = paginator.page(paginator.num_pages)
Run Code Online (Sandbox Code Playgroud)

这样,Django变得非常聪明,并 …

python sql django pagination

11
推荐指数
2
解决办法
6606
查看次数

MySQL SHOW COLUMNS的返回顺序

我需要在特定的表中找到列,这没有问题:

SHOW COLUMNS FROM tablename LIKE '%ColumnPrefix%';
Run Code Online (Sandbox Code Playgroud)

但是我需要知道它们将被返回的顺序,最好选择按字母顺序排序结果.我没有运气使用ORDER BY.

有任何想法吗?

mysql sql sql-order-by

11
推荐指数
2
解决办法
7875
查看次数

从关系中选择最常见的值 - SQL语句

我的数据库中有一个表有很多记录,有些记录对其中一个列共享相同的值.例如

|  id  |  name  |  software  |
______________________________
|  1   |  john  |  photoshop |
|  2   |  paul  |  photoshop |
|  3   |  gary  |  textmate  |
|  4   |  ade   |  fireworks |
|  5   |  fred  |  textmate  |
|  6   |  bob   |  photoshop |
Run Code Online (Sandbox Code Playgroud)

我想通过使用SQL语句返回最常见的软件的价值.

因此,在上面的示例中,所需的SQL语句将返回"photoshop",因为它比任何其他软件都要多.

这可能吗?

感谢您的时间.

mysql sql greatest-n-per-group

11
推荐指数
1
解决办法
2万
查看次数

ASP.NET SQL Server选择前N个值但跳过M个结果

我正在开发一个ASP.Net项目,用于在数据库中显示网站上的信息.我想从新闻表中选择前10项,但跳过第一项,我遇到了一些问题.

<asp:SqlDataSource ID="SqlDataSource1" 
                   runat="server" ProviderName="System.Data.SqlClient"
                   ConnectionString="<%$ ConnectionStrings:ClubSiteDB %>" 
                   SelectCommand="SELECT top 5 [id], 
                                               [itemdate], 
                                               [title], 
                                               [description], 
                                               [photo] 
                                  FROM [Announcements] order by itemdate desc">
</asp:SqlDataSource>
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止,但我无法在网上找到有关如何跳过记录的任何信息

sql sql-server asp.net

11
推荐指数
2
解决办法
1万
查看次数

如何从表中加入COUNT,然后使用另一个JOIN实现该COUNT

我有三张桌子

岗位

ID  Name
1   'Something'
2   'Something else'
3   'One more'
Run Code Online (Sandbox Code Playgroud)

评论

ID  PostId  ProfileID  Comment
1   1       1          'Hi my name is' 
2   2       2          'I like cakes'
3   3       3          'I hate cakes'
Run Code Online (Sandbox Code Playgroud)

轮廓

ID  Approved
1   1          
2   0          
3   1          
Run Code Online (Sandbox Code Playgroud)

我想计算批评评论的个人资料的评论

我可以从Post中选择数据,然后从Comment fine中加入一个计数.但是这个计数应该取决于配置文件是否被批准.

我期待的结果是

CommentCount

PostId  Count
1       1
2       0
3       1
Run Code Online (Sandbox Code Playgroud)

sql join count

11
推荐指数
2
解决办法
4万
查看次数

SQL Server身份问题

我有一个如下查询

declare @str_CustomerID int
Insert into IMDECONP38.[Customer].dbo.CustomerMaster
( CustomerName , CustomerAddress , CustomerEmail , CustomerPhone )
values ( ‘werw12e’ , ‘jkj12kj’ , ‘3212423sdf’ , ‘1212121?
)

select @str_CustomerID= scope_identity()
Run Code Online (Sandbox Code Playgroud)

执行后,它在我的参数中返回null.

我想获得身份的价值.我怎样才能做到这一点?

这里的主要问题是"IMDECONP38" - 我使用的服务器名称.如果我删除它,我可以在我的参数中获取身份的值.

sql database sql-server identity sql-server-2005

11
推荐指数
2
解决办法
2788
查看次数