比较sql中的两个或更多列
数据库结构:比较sql中的两个或更多列,sql,ms-access-2003,Sql,Ms Access 2003,数据库结构: 表名:问题 列:qid、que、a、b、c、d、ans 虚拟数据1: Qid-1 Que-what is capital of india ? A- mumbai B- delhi C-kolkata D-chennai Ans-B 虚拟数据2: Qid-2 Que-formula of water ? A- h2O B- h30 C-h40 D-h50 Ans-A 期望输出: Que ans what is c
- 表名:
问题
- 列:
qid、que、a、b、c、d、ans
Qid-1
Que-what is capital of india ?
A- mumbai
B- delhi
C-kolkata
D-chennai
Ans-B
虚拟数据2:
Qid-2
Que-formula of water ?
A- h2O
B- h30
C-h40
D-h50
Ans-A
期望输出:
Que ans
what is capital of india ? Delhi
Formula of water ? H20
如何将最后一列(ans
)与其他列(a、b、c、d
)进行比较
我需要一个SQL查询
提前谢谢。正如我所说的,您需要将
ans
解码到适当的列中。
假设答案“A”的意思是:A列的返回值,答案“B”-B列的返回值等等,在Oracle中,我会这样做(不在实际表上测试):
帕维尔像这样试试
select que,
switch(
ans = 'A', A
, ans = 'B', B
, ans = 'C', C
, ans = 'D', D
)
from table1
或
用例语句,比如:case ans当'A'时,然后A当'B'时,然后B…你只想得到que和ans吗?是的,我只需要输出que和正确的ans。
select que,
switch(
ans = 'A', A
, ans = 'B', B
, ans = 'C', C
, ans = 'D', D
)
from table1
select que, IIf(ans='A', A, IIf(ans='B',B,IIf(ans='C',C,D))) from table1