- 论坛徽章:
- 0
|
其实我用临时表是想实现多表联合查询的排序。
我做一个供应商查询输入的程序。有多张表:主表(供应商基本资料),地址表(对应供应商的地址,可以多个也可以没有),项目表(对应供应商经营项目,可以多个也可以没有),联系人表(对应供应商经营项目,可以多个也可以没有),联系方式表(对应联系人,一对多)。。。。。。
我的查询结果显示供应商代码(外键),供应商名称,联系人和联系方式,经营项目。每个字段实现排序。
我是用联系查询select p.* from prov_Primary_tb AS p,porv_Address_tb AS a,prov_Contact_tb AS c,prov_ContactManner_tb AS cm where p.PrCo=a.PrCo and p.PrCo=c.PrCo and c.CoId=cm.CoId where.......order by ......来做的,每个字段都可以排序。
但是这样查询,没有地址或者没有联系人的供应商将不能显示出来。原因是where语句的限制。
如果是先得到主表的供应商代码,再用供应商代码去查询其他表,这样的话查许结果没有问题,但是不能排序。
所以我把查询结果放入临时表中,然后查询临时表,就可以排序了。
请指教! |
|