我有很多张存放客户预约记录的表,比如 预约保养、预约洗车、预约试驾、预约年检等等。因为除了姓名、手机号码、预约时间相同其它的信息各不相同,所以我为每种预约都建了张表。
现在有这么个功能同时列出这些预约记录的姓名、手机号码、预约时间,还分预约状态(未处理|已处理)。因为信息很多需要分页。
不知道如何实现,请调价指点。
建一个View就可以了呀,既然都是预约,那表结构应该大致相同的。
SQL的JOIN语句。
如果预约类型是一定要选的话,根据预约类型就可以用单表查询了。不用去联合查询。
用SQL中的 UNION JOIN
eg:
;WITH AS T1(
SELECT Name, Phone, OrderTime, OrderStatus
FROM 预约保养
UNION JOIN
SELECT Name, Phone, OrderTime, OrderStatus
FROM 预约洗车
...
)
SELECT *
FROM T1(在这个SQL里做分页)
用视图加存储过程吧
你应该建一个预约表做为主表,再建各种预约的从表。
把所有预约 UNION ALL 起来 做为子查询,然后排序分页
每个表之间必须要有外键,以便以后关联查询