我有两张桌子:
1. transfer
2. data
表数据2记录:
id name
1. 2 PQR
2. 3 XYZ
表中的转移5条记录:
id to from amount type
1. 1 2 3 100.00 C
2. 2 3 2 200.00 C
3. 3 2 3 150.00 D
4. 4 3 2 150.00 C
5. 5 2 3 300.00 D
现在我想形成一个查询,它将2
置于where条件并给我结果
来自转移表,当2
列在to
列时,应显示from
数据
当2
位于from
列时,应打印to
个数据。
结果我想要其他数量和类型的列。
我希望使用join (Any)
的数据,我完全不知道如何执行此任务。
预期结果:
from/to amount type
3 100.00 C
3 200.00 C
3 150.00 D
3 300.00 D
对此有任何指导..
答案 0 :(得分:1)
尝试这样
select
case when "from"=2 then "to" when "to"=2 then "from" end "from/to"
,amount,type from transfer
Out put is
form/to amount type
3 100 C
3 200 C
3 150 D
3 150 C
3 100 D
OR
select case when "from"=2 then d.name when "to"=2 then data.name end "from/to",
amount,type from transfer inner join data on ("to"=data.id)
inner join data as d on("from"=d.id)
Out put is
form/to amount type
XYZ 100 C
XYZ 200 C
XYZ 150 D
XYZ 150 C
XYZ 100 D
<强> ADDITION 强>:
证明工作查询:http://ideone.com/64kIov