【问题标题】:SQL SERVER - GRAB RECORD FROM THE TABLE BASED ON COLUMN IDSQL SERVER - 根据列 ID 从表中获取记录
【发布时间】:2020-07-26 13:36:42
【问题描述】:

我有一个数据库,表中有如下结构的记录;

id,msg,date,fid 
19 ,"hello","2012-02",0
20 ,"hello","2012-03",19

我已经像这样设置了整个数据库,其中 fid 在某些情况下与另一条记录的 id 匹配。在这种情况下,id 喜欢返回具有 2 个不同日期的记录,例如 ;

19 ,"hello","2012-02",0,"2012-03"

我正在考虑自我加入,但被挂断了

【问题讨论】:

    标签: sql database sql-server-2005


    【解决方案1】:

    是的,自我加入是一种方式

       Select distinct t.id,t.msg,t.date, t1.date
       From table t join (Select fid, date from  
       Table) t1 on
        t.id =t1.fid 
    

    【讨论】:

    • 谢谢,但是我收到一条错误消息,提示 t1 附近的语法不正确
    • 你把表改成你的表名了吗
    • SELECT DISTINCT t.id,t.msg,t.date_added,t1.date FROM myTable t (JOIN SELECT date FROM myTable) t1 ON t.id = t1.fid;
    • 加入前删除括号加入后加入左括号再次检查我的语法
    • 好的,我现在做了它声明无效的列名 t1.date 和 date
    猜你喜欢
    • 2011-08-18
    • 1970-01-01
    • 2016-10-02
    • 1970-01-01
    • 1970-01-01
    • 2021-12-22
    • 1970-01-01
    • 2020-10-31
    • 1970-01-01
    相关资源
    最近更新 更多