这个问题类似于 my previous question.
的链接我正试图将其分解一点,以便最后两列有条不紊,没有重复。
我正尝试在this site.
上执行与评分最高的解决方案类似的操作我正在使用excels查询构建器来尝试执行此操作,因为除了简单的sql和数据库基础之外,我并不熟悉。
声明目前是:
SELECT WORK_CENTER.EQNO,
(
SELECT
UD_DATA.CUSER AS U1
FROM UD_DATA
FULL OUTER JOIN
WORK_CENTER
ON UD_DATA.PARENT_ID = WORK_CENTER.ID
LEFT JOIN
UD_COLS
ON UD_DATA.UD_COLS_ID = UD_COLS.ID
WHERE UD_COLS.ID='16'
),
(
SELECT
UD_DATA.CUSER AS U2
FROM UD_DATA
FULL OUTER JOIN WORK_CENTER ON UD_DATA.PARENT_ID = WORK_CENTER.ID
LEFT JOIN UD_COLS ON UD_DATA.UD_COLS_ID = UD_COLS.ID
WHERE UD_COLS.ID='17'
)
FROM
IQMS.UD_DATA UD_DATA
FULL OUTER JOIN
IQMS.WORK_CENTER WORK_CENTER
ON WORK_CENTER.ID=UD_DATA.PARENT_ID
LEFT OUTER JOIN
IQMS.UD_COLS UD_COLS
ON
UD_DATA.UD_COLS_ID = UD_COLS.ID
ORDER BY WORK_CENTER.EQNO
期望的结果:
EQNO | U1 | U2
-----+------+------
001 | 1000 | test1
002 | 2000 | test2
003 | 3000 | test3
004 | 4000 | test4
但我现在正在
ORA-01427:单行子查询返回多行 感谢Pattrick Bacon。指出我的俯视有LEFT JOIN JOIN
在链接的问题中,有人提出错误输出的原因是由于两个表交叉连接,我试图在线了解它,我无法真正看到它周围的解决方案,除了尝试此
我没有改变过多的子查询本身,但我显然做错了什么。有人能帮忙吗?
有人要求提供更多例子
来自我的链接问题:
这是期望的结果(没有显示空格列和格式错误的表格道歉):
EQNO | CNTR_TYPE | CNTR_DESC | MFGCELL | MFG_TYPE | CUSER | U2
001 | 110T-40MM | DEMAG SYSTEM 110-430 | MOLDING | INJECTION | 1000 | test1
002 | 150T-25MM | DEMAG SYSTEM 150-320 | MOLDING | INJECTION | 2000 | test2
003 | 150T-45MM | DEMAG SYSTEM 150-610 | MOLDING | INJECTION | 3000 | test3
005 | 150T-45MM | DEMAG EXTRA 500-610 | MOLDING | INJECTION | 4000 | test4
但我得到的是:
EQNO | CNTR_TYPE | CNTR_DESC | MFGCELL | MFG_TYPE | CUSER | U2 | E2
001 | 110T-40MM | DEMAG SYSTEM 110-430 | MOLDING | INJECTION | 1000 | test1 | 001
001 | 110T-40MM | DEMAG SYSTEM 110-430 | MOLDING | INJECTION | 1000 | test2 | 002
001 | 110T-40MM | DEMAG SYSTEM 110-430 | MOLDING | INJECTION | 1000 | test3 | 003
001 | 110T-40MM | DEMAG SYSTEM 110-430 | MOLDING | INJECTION | 1000 | test4 | 005
002 | 150T-25MM | DEMAG SYSTEM 150-320 | MOLDING | INJECTION | 2000 | test1 | 001
002 | 150T-25MM | DEMAG SYSTEM 150-320 | MOLDING | INJECTION | 2000 | test2 | 002
002 | 150T-25MM | DEMAG SYSTEM 150-320 | MOLDING | INJECTION | 2000 | test3 | 003
002 | 150T-25MM | DEMAG SYSTEM 150-320 | MOLDING | INJECTION | 2000 | test4 | 005
003 | 150T-45MM | DEMAG SYSTEM 150-610 | MOLDING | INJECTION | 3000 | test1 | 001
003 | 150T-45MM | DEMAG SYSTEM 150-610 | MOLDING | INJECTION | 3000 | test2 | 002
003 | 150T-45MM | DEMAG SYSTEM 150-610 | MOLDING | INJECTION | 3000 | test3 | 003
003 | 150T-45MM | DEMAG SYSTEM 150-610 | MOLDING | INJECTION | 3000 | test4 | 005
005 | 150T-45MM | DEMAG EXTRA 500-610 | MOLDING | INJECTION | 4000 | test1 | 001
005 | 150T-45MM | DEMAG EXTRA 500-610 | MOLDING | INJECTION | 4000 | test2 | 002
005 | 150T-45MM | DEMAG EXTRA 500-610 | MOLDING | INJECTION | 4000 | test3 | 003
005 | 150T-45MM | DEMAG EXTRA 500-610 | MOLDING | INJECTION | 4000 | test4 | 005
Union并没有真正起作用,因为它只是将两列“CUSER”和“CUSER AS U2”放在一起,因为它们实际上是同一列。
添加更多样本数据
这里有一点来自UD_DATA表
ID | UD_COLS_ID|PARENT_ID|CUSER
-------+-----------+---------+------
12312 | 16 | 5210 | 1000
12313 | 17 | 5210 | test1
12314 | 16 | 5212 | 2000
12315 | 17 | 5212 | test2
12316 | 16 | 5213 | 3000
12317 | 17 | 5213 | test4
12318 | 16 | 5214 | 4000
12319 | 17 | 5214 | test4
我的主要问题是只显示CUSER列中的日期
|COL1 | COL2|
+-----+-----+
| 1000|test1|
| 2000|test2|
| 3000|test3|
| 4000|test4|
但是从链接的问题我得到了类似的东西:
|COL1 | COL2|
+-----+-----+
| 1000|test1|
| 1000|test2|
| 1000|test3|
| 1000|test4|
| 2000|test1|
| 2000|test2|
| 2000|test3|
| 2000|test4|
| 3000|test1|
| 3000|test2|
| 3000|test3|
| 3000|test4|
这就是我一直在努力修复
答案 0 :(得分:0)
你实际上是在PIVOT之后;不需要连接等。
E.g:
.outer{
position:relative;
width:1920px;
height:400px;
background: rgba(0,0,0,.5);
}
.inner{
position:absolute;
bottom:10%;
text-align: center;
margin: 0 auto;
width: 100%;
background: rgba(0,0,0,.5);
}