2016-10-15 89 views
0

我正在开发一个项目,其中我需要展示一些更新,如facebook(最新的第一次更新,或者您可以用LIFO方式)。我从不同的表中提取记录...我有3种用户查询:第一种是用户的公司项目,第二种是公司订单查询,第三种是供应商对公司订单查询的回复。如何从不同的表格获取数据到单独的表格

我的SQL代码:

--user's Company Projects Table Query 

SELECT * FROM COMPANY_PROJECTS WHERE REF_COMPANYID=1003 

-- Companies Order Queries Table Query 

SELECT * FROM QUERYRECORDFROMUSER QR 
    LEFT JOIN COMPANY_MASTER CM ON CM.COMPANY_ID = QR.QUERYFROM 
    WHERE cm.COMPANY_ID = 1003 
    order by P_QUERYID desc 

--Vendor's replies to company Order queriesTable Query 
    select QUOTE_ID,NAME,P_QUERYID,ENQUIRYTITLE,REMARKS from QUOTE_FOR_ENQUIRY qe 
    left join QUERYRECORDFROMUSER qr 
    on qr.P_QUERYID = qe.REF_QUERYID 
    left join VENDOR_REGISTRATION vr 
    on vr.VENDOR_REGID = qe.REF_VENDORID 
    where REF_COMPANYID=1003 

为了通过QUOTE_ID递减enter image description here

我有3个查询我的数据,但根据它来创建日期.. 由于IM的结合是我不能排序在前端有三个中继器,它将显示表1,然后是表2,然后是表3记录,但是我想按照创建日期显示,无论记录是来自表1,2或3的。

感谢勇敢!

+0

每创建日期?用日期对它们进行排序时是否有错误? –

+0

不,没有错误,但如果我将排序,那么它将首先显示表1排序记录,然后表2排序记录,最后表3排序记录。这完美的作品...但我想按照Facebook的时间表来做:所有数据将排序,不管它是一个状态,有人分享一些视频,或任何应用程序的要求...我想要做的... –

+0

然后我猜,你应该需要某种facebook api。 –

回答

2

如果你的表看起来相同(即相同的数据类型等),你可以使用UNION。但是,情况并非如此,这使得它更加棘手。一种解决方案是在缺少的列中添加NULL值。因此,如果你有例如与各个列在下表中:

表A中:A,B,C

表B:A”,B,d,E

表C:一 '' ,b,F,G,H

,其中列A,A”和 '' 是你的ID它是整数,b为您创建日期,你可以这样做:

SELECT a, b, c, NULL, NULL, NULL, NULL, NULL FROM A 
UNION a', b, NULL, d, e, NULL, NULL, NULL FROM B 
UNION a'', b, NULL, NULL, NULL, f, g, h FROM C 
ORDER BY b DESC 
+0

只要数据类型正确,你实际上可以添加你想要的任何内容而不是NULL。 0,'N/A'或'' – NiH

+0

谢谢NiH ..它对我来说非常完美... –

相关问题