这是我的数据库表。我如何能够从数据库表中选择底部表?
是否可以从唯一的名称和类型创建 NameID 和 TypeID?
编辑---我已经有了使用案例的类型,因为只有 3 种类型。
SELECT
name, type, spending,
CASE type
WHEN 'Credit Card' THEN 1
WHEN 'Cash' THEN 2
WHEN 'Cheque' THEN 3
END AS typeID_
FROM spendtable
是否可以在名称列上做同样的事情?
谢谢!
----数据库表----
姓名 类型 消费
John Credit Card 550
Brian Cash 200
Frank Check 600
John Cash 150
John Cash 300
Frank Credit Card 200
----需要桌子----
NameID 名称 TypeID 类型 支出
1 John 1 信用卡 550
2 Brian 2 Cash 200
3 Frank 3 Check 600
1 John 2 Cash 150
1 John 2 Cash 300
3 Frank 1 信用卡 200
- - - -编辑
我最终使用 2 个查询和 php 来获取所需的表
function getInfo(){
SELECT
name, type, spending,
CASE type
WHEN 'Credit Card' THEN 1
WHEN 'Cash' THEN 2
WHEN 'Cheque' THEN 3
END AS typeID_
FROM spendtable
}
function getName(){
SELECT name
FROM spendtable
GROUP BY share_ ASC
}
$info_array = $this->getInfo();
$name_array = $this->getName();
for($i=0; $i<count($info_array); $i++){
$info_array[$i]['nameID'] = '';
for($j=0; $j<count($name_array); $j++){
if($info_array[$i]['nameID'] == $name_array[$j]){
$info_array[$i]['nameID'] = $j;
}
}
}