小编Mar*_*aac的帖子

SQL选择和组记录具有不同顺序的相同单词

我在表中有以下值:

表水果

id | name                        | price
-----------------------------------------
 1 | 'APPLE BANANA ORANGE'       | 12.00
 2 | 'BANANA ORANGE APPLE'       |  4.00
 3 | 'ORANGE APPLE BANANA'       | 10.00
 4 | 'LEMON APPLE BANANA ORANGE' |  7.00
 5 | 'APPLE LEMON BANANA ORANGE' |  8.00
Run Code Online (Sandbox Code Playgroud)

我想选择3个第一行的所有值,而我只有一个包含'APPLE BANANA ORANGE'的文本

SELECT * 
FROM fruits 
WHERE name IN 
('APPLE BANANA ORANGE','BANANA ORANGE APPLE','ORANGE APPLE BANANA')
Run Code Online (Sandbox Code Playgroud)

问题是这些值来自另一个表,我正在寻找一种方法来生成可能值的不同组合

也许使用一个函数:

SELECT * 
FROM fruits f 
INNER JOIN order o ON o.name IN some_function(f.name)
Run Code Online (Sandbox Code Playgroud)

也许使用一些正则表达式:

SELECT …
Run Code Online (Sandbox Code Playgroud)

regex sql postgresql group-by sql-order-by

5
推荐指数
1
解决办法
693
查看次数

标签 统计

group-by ×1

postgresql ×1

regex ×1

sql ×1

sql-order-by ×1