1

receiver私は以下のこのSQLクエリを持っています、からIDで戻るフィールドに注意してくださいtable_1

私の質問は、どのようにして受信機FirstNameLastNameそのreceiver場で入手するのかということです。

SELECT DISTINCT
    FirstName, 
    LastName, 
    table_2.status, 
    (select FirstName, LastName from table_1 where table_1.id = table_2.receiver) as receiver 
FROM table_1
INNER JOIN 
    table_2 on table_1.key_2 = CONCAT('OFFLINE-', table_2.id)
ORDER BY FirstName, LastName

SQLにサブクエリを追加しましたが、構文エラーが発生します:(

4

3 に答える 3

1
select distinct FirstName, LastName, table_2.status, CONCAT(FirstName, ' ', LastName) 
from table_1 inner join table_2 on table_1.key_2 = CONCAT('OFFLINE-', table_2.id) 
order by FirstName, LastName
于 2013-03-13T18:04:24.037 に答える
0

サブクエリの代わりにエイリアスを使用してそれを行うことができます。

SELECT DISTINCT
    t2.FirstName, 
    t2.LastName, 
    t2.status, 
    CONCAT(t1.FirstName,' ', t1.LastName) as receiver
FROM table_1 t1
INNER JOIN 
    table_2 t2 on t1.key_2 = CONCAT('OFFLINE-', t2.id)
ORDER BY t1.FirstName, t1.LastName
于 2013-03-13T19:23:16.290 に答える
0

これは機能します:)

SELECT DISTINCT
    FirstName, 
    LastName, 
    table_2.status, 
    (select CONCAT(FirstName,' ',LastName) as Name from table_1 where id=receiver) as receiver, 
FROM table_1
INNER JOIN 
    table_2 on table_1.key_2 = CONCAT('OFFLINE-', table_2.id)
ORDER BY FirstName, LastName
于 2013-03-13T19:11:02.197 に答える