如何在单行中显示与单个内容相关的各种属性[英] how to display various attribute related to single clent in a single row

问题描述

嗨,这里是我的数据库设计,它由以下 3 个表 vedor、产品和品牌组成.它们的定义如下

供应商(vid int primary key 身份,v_name varchar(50), -- 供应商名称v_producttype varchar(50) -- 产品类型,例如 appreals 或 non-appreals 等);产品(p_id int primary key 身份,vref_id int foreign key references vendor(vid), --指vendor的vid产品 varchar(50) -- 指产品)品牌(b_id int primary key 身份vref_id int foreign key references vendor(vid), --指vendor的vid品牌 varchar(50) --指各个品牌) 

现在可以看到一个供应商可以拥有许多产品和许多品牌
我想要做的是在显示供应商详细信息的(虚拟)表的单个单元格中显示属于特定供应商的所有产品和品牌

这个怎么办.我曾尝试使用 sql equi-joins,但每次对每个产品都重复行.我应该做什么使用任何类型的功能.我不擅长sql函数

请指导我

推荐答案

听起来您想将行连接到一个单元格中.要做到这一点

DECLARE @RowsIntoCell NVARCHAR(最大);SELECT @RowsIntoCell = COALESCE(@RowsIntoCell+',', '') + ColumnThatHasValuesFROM YourTable 


这将从列 (ColumnThatHasValues) 中获取所有值,并用逗号将它们分隔到名为 @RowsIntoCell 的变量中

本文地址:https://www.itbaoku.cn/post/1394785.html