34,836
社区成员




a,b表left join,一对多关系,能先显示a表一条数据,再显示b表的数据吗?
有多列,不止一列,目前我只能用dbgrideh控件,数据库是sqlserver 2000,目前只能用这个控件和这个数据库
这样显示:
a1(这一行只显示a表数据)
b1
b2
--------
a2
b3
b4
b5
b6
--------
a3
b7
b8
b9
现在难得还有人在这发帖,人都去哪了
--测试数据
if not object_id(N'Tempdb..#a') is null
drop table #a
Go
Create table #a([家具jj] nvarchar(22))
Insert #a
select N'桌子' union all
select N'椅子'
Go
--测试数据结束
--测试数据
if not object_id(N'Tempdb..#b') is null
drop table #b
Go
Create table #b([家具jj] nvarchar(22),[颜色ys] nvarchar(22),[尺寸cc] nvarchar(24))
Insert #b
select N'桌子',N'白色',N'10cm' union all
select N'桌子',N'红色',N'12cm' union all
select N'椅子',N'白色',N'10cm' union all
select N'椅子',N'红色',N'12cm'
Go
--测试数据结束
SELECT * FROM (
SELECT *,NULL AS 颜色,NULL AS 尺寸 FROM #a
UNION all
Select #b.* from #a left join #b ON #b.家具jj = #a.家具jj
)t ORDER BY t.家具jj,t.颜色
```sql
```
a表字段:家具jj
b表字段:家具jj,颜色ys,尺寸cc
a,b表用字段jj关联起来,a,b表显示的时候可以错位
桌子
白色,10cm
红色,12cm
椅子
白色,10cm
红色,15cm
黄色,20cm
紫色,30cm
柜子
橙色,10cm
橘红色,25cm
蓝色,18cm