これは私のデータベース テーブルです。データベース テーブルから一番下のテーブルを選択するにはどうすればよいですか?
一意の名前と型から NameID と TypeID を作成することは可能ですか?
EDIT--- タイプは 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
名前の列で同じことを行うことは可能でしょうか?
ありがとう!
----データベーステーブル----
名前 タイプ 支出
ジョン クレジット カード 550
ブライアン キャッシュ 200
フランク チェック 600
ジョン キャッシュ 150
ジョン キャッシュ 300
フランク クレジット カード 200
----テーブルが必要----
名前 ID 名前 タイプ ID タイプ 支出
1 ジョン 1 クレジット カード 550
2 ブライアン 2 現金 200
3 フランク 3 小切手 600
1 ジョン 2 現金 150
1 ジョン 2 現金 300
3 フランク 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;
}
}
}