小编Ada*_*Dev的帖子

存储过程中的多个select语句

我有一个存储过程,必须从多个表中检索数据

就像是

SELECT [AppointmentId]
  ,[ContactId]
  ,[Date]
  ,[BookedBy]
  ,[Details]
  ,[Status]
  ,[Time]
  ,[Type]
  ,[JobId]
  ,[AppointmentFor]
  ,(Select PersonFirstName from Person where Person_Id = [AppointmentFor]) As UserFirstName
  ,(Select PersonLastName from Person where Person_Id = [AppointmentFor]) As UserLastName

  ,(Select PersonFirstName from Person where Person_Id = [ContactId]) As ContactFirstName      
  ,(Select PersonLastName from Person where Person_Id = [ContactId]) As ContactLastName           

 FROM [dbo].[Appointments]
Run Code Online (Sandbox Code Playgroud)

我的问题是还有其他更有效的方法吗?或者这是正确的方法吗?

我正在使用Sql server 2008谢谢

sql sql-server

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

SQL WHERE字符串LIKE字段

我有一个表跟踪链接结构如下:

id
domain_name
traffic_count
enabled
created_at
Run Code Online (Sandbox Code Playgroud)

假设我有一个domain_name为"some-domain.com"的记录,然后让我说我想找到具有该域的记录,除了我必须经历的是该域的子域.

我基本上想要这样做:

SELECT * FROM links 'subdomain.some-domain.com' LIKE %domain_name%"
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

mysql sql sql-like

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

此查询提供重复记录,此查询有什么问题?

这是给出重复结果的查询:

SELECT a.applicant_particular_id, a.name, a.father_name, a.quota_id, 
c.hafiz_quran_marks, b.form_status 
FROM applicant_particular a,admission_choices b, academic_background c 
WHERE b.applicant_particular_id=a.applicant_particular_id 
   AND c.applicant_particular_id=a.applicant_particular_id 
   AND a.quota_id='18'
   AND b.form_status='RECEIVED' 
Run Code Online (Sandbox Code Playgroud)

这是第一个表"applicant_particular"

红色突出显示的行正在重复,hafiz_quran_marks显示所有行

这是第一个表"applicant_particular"

   applicant_particular_id   |   name   |   father_name   |    quota_id


             1                   John        Micheal             18
             2                   khan        ali                 19
Run Code Online (Sandbox Code Playgroud)

这是第二个表"admission_choices"

   choice_id   |   form_status   |   applicant_particular_id   |    program_id


           1          PENDING               2                       19
           2          RECEIVED              1                       18
Run Code Online (Sandbox Code Playgroud)

这是第三个表"academic_background"

   background_id   |   hafiz_marks   |   applicant_particular_id   


           1             20                  2     
           2             30                  1             
Run Code Online (Sandbox Code Playgroud)

mysql sql database

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

存储过程结果中的问题

我有这样的商店程序:

ALTER PROCEDURE [dbo].[CheckUser&Pass]
(
    @Username nchar(15),
    @Password nchar(15)
)
AS
    SET NOCOUNT ON;
SELECT        Username, Pass, Code_Person
FROM            Login
WHERE        (Username = @Username) AND (Pass = @Password)
Run Code Online (Sandbox Code Playgroud)

并执行:

DECLARE @return_value int

EXEC    @return_value = [dbo].[CheckUser&Pass]
        @Username = N'admin',
        @Password = N'1234'

SELECT  'Return Value' = @return_value

GO
Run Code Online (Sandbox Code Playgroud)

我想知道如果用户名是admin并且密码是1234,我可以将@return_Value设置为1.

但它不能正常工作,这可能吗?

sql-server stored-procedures

0
推荐指数
1
解决办法
126
查看次数

不同的SQL查询

我有一个SQL Server 2008数据库,表中包含以下信息:

ID  Name
--  ----
1   John
2   Jill
3   John
4   Phil
5   Matt
6   Jill
Run Code Online (Sandbox Code Playgroud)

我想在下拉列表中显示唯一的名称.因此,我只需要一个与唯一名称相关联的ID.我知道它很脏.我没有制造这个烂摊子.我只需要使用其中一个ID的唯一名称.如何编写将执行此操作的查询?我知道由于ID字段,以下内容不起作用.

SELECT DISTINCT
  [ID], [Name]
FROM
  MyTable
Run Code Online (Sandbox Code Playgroud)

sql sql-server

0
推荐指数
1
解决办法
130
查看次数

SQL Server 2008存储过程中的复合条件

如果存储过程允许处理复合条件,请告诉我:

if(
    ( (select Count(*) from dbo.Membership where EmailID=@emailID) >0) 
                                  || 
    ((select Count(*) from dbo.Allocation where ResourceEmail=@emailID)>0))
)
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server-2008

0
推荐指数
1
解决办法
289
查看次数