0

我正在尝试将我的查询结果转换为并根据小写以 asc 顺序对它们进行排序。但是在显示时我需要保留所有原始大小写(小写和大写)。

我的查询看起来像这样 -

SELECT distinct (p.product_id) as product_id ,lcase(p.product_name) as product_name 
from library TL, product p
WHERE TL.id = PL.id 
AND pL.product_id = p.product_id 
AND pL.product_id NOT IN (0)
order by lcase(product_name) asc;

但是当我显示它时,它会将整个下拉值更改为小写。这不是我想要的。我只是希望它按照小写的顺序显示。

我该怎么做?

据我所知,我的 orderby 应该和 select 有相同的条件不是吗?

如何在下拉列表中显示值的小写+大写时使排序不区分大小写

4

1 回答 1

1

你可以试试这个

SELECT product_id, product_name FROM (
    SELECT distinct (p.product_id) as product_id ,(p.product_name) as product_name,  
    lcase(p.product_name) as pname
    from unified.techlibrary TL, unified.techlibraryprod PL, unified.product p, unified.contenttype CT 
    WHERE TL.id = PL.id 
    AND pL.product_id = p.product_id 
    AND tl.contenttype_id in (1,3)  
    AND pL.product_id NOT IN (0)
) AS x order by x.pname

希望它会有所帮助。

于 2012-09-13T08:14:55.230 回答