我在下面列出了 3 个表:
表_A:
order_number | header_id
123 | 80001
Run Code Online (Sandbox Code Playgroud)
表_B
header_id | line_id | quantity
80001 | 10001 | 1
80001 | 10002 | 3
80001 | 10003 | 5
Run Code Online (Sandbox Code Playgroud)
表_C
header_id | line_id | hold_price_id | released_flag
80001 | 10001 | 2001 | Y
80001 | 10002 | 2002 | Y
80001 | 10003 | 2003 | N
Run Code Online (Sandbox Code Playgroud)
我写了一个查询,如下所示:
SELECT A.order_number, A.header_id, B.line_id, B.quantity, C.hold_price_id, C.released_flag
FROM Table_A a,
Table_B b,
Table_C c
WHERE a.header_id = b.header_id
AND …Run Code Online (Sandbox Code Playgroud) 我在to_char()这里面临货币格式问题.
以下代码对我有用:
SELECT TO_CHAR(10000,'L99G999D99MI',
'NLS_NUMERIC_CHARACTERS = ''.,''
NLS_CURRENCY = ''$''') "Amount"
FROM DUAL;
Run Code Online (Sandbox Code Playgroud)
这将为我提供输出:$10,000.00.
现在,我希望将货币转换为法国货币,即期望产出10 000,00或具有产出的瑞士货币10'000.00.因此,对于上述两种情况,我修改了如下所示的代码:
SELECT TO_CHAR(10000,'L99G999D99MI',
'NLS_NUMERIC_CHARACTERS = ''"", ""''
NLS_CURRENCY = ''$'' ') "Amount"
FROM DUAL;
SELECT TO_CHAR(10000,'L99G999D99MI',
'NLS_NUMERIC_CHARACTERS = ''". "''
NLS_CURRENCY = ''$'' ') "Amount"
FROM DUAL;
Run Code Online (Sandbox Code Playgroud)
但是此代码不起作用并显示错误ORA-12702.代码有问题吗?
假设我有一个表名TableA,其中包含以下部分数据:
LOOKUP_VALUE LOOKUPS_CODE LOOKUPS_ID
------------ ------------ ----------
5% 120 1001
5% 121 1002
5% 123 1003
2% 130 2001
2% 131 2002
Run Code Online (Sandbox Code Playgroud)
我想使用DISTINCT仅选择1行5%和1行2%作为视图,但它失败了,我的查询是:
SELECT DISTINCT lookup_value, lookups_code
FROM TableA;
Run Code Online (Sandbox Code Playgroud)
上面的查询给出了如下所示的结果.
LOOKUP_VALUE LOOKUPS_CODE
------------ ------------
5% 120
5% 121
5% 123
2% 130
2% 131
Run Code Online (Sandbox Code Playgroud)
但这不是我预期的结果,mt预期结果如下所示:
LOOKUP_VALUE LOOKUPS_CODE
------------ ------------
5% 120
2% 130
Run Code Online (Sandbox Code Playgroud)
我可以知道如何在不指定任何WHERE子句的情况下实现此目的吗?谢谢!