2

私は4列のテーブルを持っています:id, name, to_id, to_id2

SELECT id, name, (name WHERE to_id=id) as to1, (name WHERE to_id2=id) as to2 FROM table

to_id と to_id2 の代わりにどうにかして名前を表示したいと思います。このコード: SELECT id, name, to_id, to_id2 FROM TABLEto_id、to_id2 は id-s であるため、数値として指定します。

4

2 に答える 2

3

使用CASE WHEN ... THEN ... END:

SELECT id, name, 
(CASE WHEN to_id = id THEN name ELSE NULL END) as "t1",
(CASE WHEN to_id2 = id THEN name ELSE NULL END) as "t2"
FROM `your_table`

caseステートメントの詳細については、こちらをご覧ください。

于 2013-07-26T10:24:38.530 に答える
1

を使用する必要がありますJOIN。これを試してください:

SELECT t1.id, t1.name, t2.name as t2Name, t3.name as t3Name
FROM tbl t1
LEFT JOIN tbl t2 ON t1.to_id = t2.id
LEFT JOIN tbl t3 ON t1.to_id2 = t3.id

デモ

于 2013-07-26T10:23:21.413 に答える