青衫唯衣
2017-10-26 02:52
采纳率: 17.4%
浏览 2.7k

sql查询问题 同一张表 根据客户不同 查出不同数据

create table Message
(
ID1 varchar(10),
ClientID varchar(10),
Number int,
UserID varchar(10),
ResumeID varchar(10),
)
insert into Message select '1' ,'03', 1,'20','13'
insert into Message select '04','03',2,'20', '08'

create table Resume
(
ID2 varchar(10),
Name varchar(10),
UserID varchar(10)
)
insert into test2 select '13','李四','20'

insert into test2 select '08','张三','20'

create table Client
(
ID3 varchar(10),
Name varchar(10),
)
insert into test2 select '03'
insert into test2 select '10'

当 ClientID=03时
/*
要得到这样的报表:
id1 Number Name
13 1 '李四'
08 2 '张三'
*/

当 ClientID=10时
/*
要得到这样的报表:
id1 Number Name
13 0 '李四'
08 0 '张三'
*/

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • DS623089578 2017-10-26 04:45
    已采纳

    CREATE TABLE GB_USER.T_RESUME (
    RESUME_ID VARCHAR2(25) NULL,
    RESUME_NAME VARCHAR2(25) NULL,
    USER_ID VARCHAR2(25) NULL
    )
    GO

    CREATE TABLE GB_USER.T_MESSAGE (
    ID VARCHAR2(25) NULL,
    FK_CLIENT_ID VARCHAR2(25) NULL,
    NUMBER VARCHAR2(25) NULL,
    FK_USER_ID VARCHAR2(25) NULL,
    FK_RESUME_ID VARCHAR2(25) NULL
    )
    GO

    CREATE TABLE GB_USER.T_CLIENT (
    CLIENT_ID VARCHAR2(25) NULL,
    CLIENT_NAME VARCHAR2(25) NULL
    )
    GO

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • longlong3207 2017-10-26 03:41
     select 
    sum(if((name='张三'),1,0)) '张三',
    sum(if((name='李四'),1,0)) '李四',
    sum(if((name='王五'),1,0)) '王五'
     from shuju
    

    这个应该类似吧,没数据不好想

    评论
    解决 无用
    打赏 举报
  • DS623089578 2017-10-26 03:50

    你的需求描述可以具体一点,不知道下面这个SQL符不符合你的需求。
    select
    R.字段1
    R.字段2 //把你要查询的所有的resume的字段都写上
    R.字段N
    FROM
    tb_RT_Resume resume R,
    dbo.tb_RT_Message M,
    dbo.tb_RT_Client C
    where
    M.RID = R.ID
    AND
    M.ClientID = C.ID

    AND
    M.Type=1
    AND
    (C.ID = 你要查询的那个账户的Id OR M.num = 0)

    评论
    解决 无用
    打赏 举报
  • DS623089578 2017-10-26 04:27

    当 ClientID=03时
    /*
    要得到这样的报表:
    id1 Number Name
    13 1 '李四'
    08 2 '张三'
    /
    当 ClientID=10时
    /

    要得到这样的报表:
    id1 Number Name
    13 0 '李四'
    08 0 '张三'
    */

    评论
    解决 无用
    打赏 举报
  • DS623089578 2017-10-26 04:44

    图片说明

    图片说明

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题