作者yuleen123 (.......................)
看板PHP
标题Re: [请益] 资料表关联
时间Mon Nov 26 19:59:04 2012
※ 引述《shihyanyu (乐施者所求如意)》之铭言:
: 想请教各位大大 有没有可能把主资料表跟子资料表一起显示在一个重复区域
: 我有两个资料表
: 1. ybids 订单资料表
: ┌───┬────┬────┐
: │yco_id│yco_cid │收件地址│
: └───┴────┴────┘
: 主键 INDEX
: 2. ybidorders 订单细节资料表
: ┌───┬────┬────┬────┐
: │yos_id│yos_cid │商品名称│颜色款式│
: └───┴────┴────┴────┘
: 主键 INDEX
: 其中ybids订单资料表是基本的收件资讯等等
: 订单详细内容 订了那些商品 颜色款式等放在ybidorders
: 两个资料表以yco_cid=yos_cid做关联
: (也就是一个yco_cid对应多个订单细节)
: 我想把订单详细内容拉出来显示在订单的重复区域里 像这样:
: ┌───┬────┬────────────┬────┐
: │yco_id│yco_cid │ 订 单 细 节 │收件地址│
: ├───┼────┼────────────┼────┤
: │ 1 │ y01234 │yos_id-商品名称-颜色款式│ │
: │ │ │29-小熊维尼手机壳-泡泡款│ │
: │ │ │64-方孔点点洞洞壳-红色 │ │
: │ │ │95-米妮按键贴-NULL │ │
: │ │ │ │ │
: │ │ │ │ │
: └───┴────┴────────────┴────┘
我的作法会像下面这样
select
a.yco_id,
a.yco_cid,
concat( b.yos_id, '-', b.商品名称, '-', b.颜色款式 ) as detail,
a.收件地址
from
ybids as a, ybidorders as b
where
a.yco_cid = b.yos_cid
order by a.yco_id asc
如果你的 yos_id 的型态是 INTEGER 的话要先转成字串再塞到 concat 中
补充说明:
跑出来的资料会像下面这样
┌───┬────┬────────────┬────┐
│yco_id│yco_cid │detail │收件地址│
├───┼────┼────────────┼────┤
│ 1 │ y01234 │yos_id-商品名称-颜色款式│ │
│ 1 │ y01234 │29-小熊维尼手机壳-泡泡款│ │
│ 1 │ y01234 │64-方孔点点洞洞壳-红色 │ │
│ 1 │ y01234 │95-米妮按键贴-NULL │ │
│ │ │ │ │
│ │ │ │ │
└───┴────┴────────────┴────┘
PHP 捞资料出来後要自己处理表格合并的工作
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.41.36.40
※ 编辑: yuleen123 来自: 114.41.36.40 (11/26 20:04)
1F:推 shihyanyu:谢谢yuleen123大人~我在试看看!! 11/26 23:27