SQL中如何实现输出结果某列值不重复?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL中如何实现输出结果某列值不重复?相关的知识,希望对你有一定的参考价值。

代码如下:
select distinct a.products_model,c.products_options_values_name
from products as a,products_attributes as b,products_options_values as c,products_options as d
where a.products_id = b.products_id
and
d.products_options_id =b.options_id and b.options_id =1
and
c.products_options_values_id = b.options_values_id
order by a.products_model asc

输出结果如图。

要如何实现图中红框的效果呢?
另外,通过php如何实现呢?

参考技术A group by 或者distinct.追问

后面的方法试过了。前面的怎样使用呢?
就是我用SQL查询出来的结果。现在要结合到 PHP页面中,
现在显示的结果是
model color
TEST red
TEST green
TEST blue
ABC red
ABC yellow
ABC green
.......
我要页面值显示 一个model,然后对应其颜色。

参考技术B 这个要重组datatable 直接查是查不出这样的效果追问

就是我用SQL查询出来的结果。现在要结合到 PHP页面中,
现在显示的结果是
model color
TEST red
TEST green
TEST blue
ABC red
ABC yellow
ABC green
.......
我要页面值显示 一个model,然后对应其颜色。~

参考技术C 某列值不重复?能解释清楚吗?
把你要的结果用图发下,最好是前後有对比的图追问

就是我用SQL查询出来的结果。现在要结合到 PHP页面中,
现在显示的结果是
model color
TEST red
TEST green
TEST blue
ABC red
ABC yellow
ABC green
.......
我要页面值显示 一个model,然后对应其颜色。

追答

要是这样的
TEST red
TEST green
TEST blue
就显示
test red
green
blue?

追问

对的。我现在就想这样实现。在PHP页面不知道怎样实现。

追答

PHP 我没有用过,
我在delphi中的的做法是放两个控件:
第一个控件存ComboBox1放model:TEST,ABC等
第二控件根据第一个控件数据的变动来获得颜色
就是selct color from where model=ComboBox1.text
这样就实现了:你选择TEST 第二个控件就出现red,green,blue
PHP你要自己开发了

追问

先放开PHP,在mysql中查询 可以直接实现 我所说的效果吗?
现在我这个是链接了四个表来查询得出的结果。
可以再输出结果中把 model重复的合并成一个,然后对应其表中的颜色?

追答

sql裏面只能这样显示一行
model color
TEST red,green,blue
ABC red,yellow,green

追问

这样也可以的。要这样实现由什么办法呢?

追答

你的表结构我都没有
我给你一个例子:你理解下,不明白的话在找我
CREATE Function GetName(@empid char(10))
Returns Nvarchar(2000)
As
Begin
Declare
@S Nvarchar(2000)
Set @S=''
Select @S=@S+','+scout from tFFF_emp Where empid=@empid Order By scout --最主要的是这句
Return (Stuff(@S,1,1,'')) End
--测试
--Select empid,dbo.GetName(empid) As scout from tFFF_emp Group By empid

本回答被提问者采纳

怎么能在django中调用MySQL数据库中的某列值?

例如,一份人员信息表单,包含了姓名、性别、年龄,如果我想输出年龄列,或者指定姓名后,输出他的年龄该怎么做?

参考技术A RootCount.objects.filter(key = n.key).update(success = F('success') + 1,value = value_str,support = True)
```追问

麻烦能解释一下吗。。。

以上是关于SQL中如何实现输出结果某列值不重复?的主要内容,如果未能解决你的问题,请参考以下文章

sql 查询某列值为 a和b

SQL如何查询出某一列中不同值出现的次数?

怎么样删除SQL SERVER 数据库中重复的数据

Mysql命令整理

sqlserver如何实现两个表的组合输出?

判断:ORACLE中,用==NULL来判断列值是不是为空,