アプリ版:「スタンプのみでお礼する」機能のリリースについて

以下のテーブルからCSVを出力する際、

ID | 名称 | コード1 | コード2
1 |  A  |  111  |  444
2 |  B  |  222  |  555
3 |  C  |  333  |  666

「ID/名称/コード1コード2」のように取りだす場合のSQL文は


SELECT
ID,
名称,
コード1 || コード1
FROM テーブル名


となると思いますがこれを、「ID/名称コード1/名称コード2」のように同じフィールドを同じ行に2回登場させたい場合はどうすれば宜しいでしょうか。

SELECT
ID,
名称 || コード1,
名称 || コード2
FROM テーブル名

とした場合にはエラーになってしまいます。
宜しくお願い致します。

A 回答 (3件)

まず、各カラムのデータ形式は何ですか?


あと、エラーが出た際のエラーメッセージには何て書いてありますか?

PostgreSQLカテゴリーなのでPostgreSQLで試してみましたが、エラーは出ませんでしたよ。

test=# create table test (id integer, name text, code1 text, code2 text);
CREATE TABLE
test=# insert into test (id, name, code1, code2) values (1,'A','111','444');
INSERT 0 1
test=# insert into test (id, name, code1, code2) values (2,'B','222','555');
INSERT 0 1
test=# insert into test (id, name, code1, code2) values (3,'C','333','666');
INSERT 0 1

test=# SELECT id, name, code1 || code2 FROM test;
id | name | ?column?
----+------+----------
1 | A | 111444
2 | B | 222555
3 | C | 333666
(3 rows)

test=# SELECT id, name || code1, name || code2 FROM test;
id | ?column? | ?column?
----+----------+----------
1 | A111 | A444
2 | B222 | B555
3 | C333 | C666
(3 rows)

この回答への補足

回答ありがとうございます。
質問内容に誤りがございました。

取り出したい形式は「ID/名称コード1/名称コード2」ではなく「ID/名称コード1 名称コード2」でした。

エラーになったSQL文は以下の通りです。


SELECT
ID,
名称 || コード1 || ' ' ||名称 || コード2
FROM テーブル名

補足日時:2012/11/30 16:12
    • good
    • 0

No.1の方がおっしゃっている通り、カラムのデータ型を確認しましょう。



例えば、NumericとCharをそのまま連結しようとすると、エラーになります。
質問する場合、エラーメッセージをそのまま載せた方が、的確な回答がつきます。

Numeric等を文字として連結したいのであれば、「TO_CHAR」等を試してはどうでしょうか。
    • good
    • 0

> 取り出したい形式は「ID/名称コード1/名称コード2」ではなく「ID/名称コード1 名称コード2」でした。



問題無くSELECTできますよ。

test=# SELECT id, name || code1 || ' ' || name || code2 FROM test;
id | ?column?
----+-----------
1 | A111 A444
2 | B222 B555
3 | C333 C666
(3 rows)
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す