我在表中有以下值:
表水果
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)