2011-09-09 9 views
0

previous question user_idがこれらの各テーブルのレコードと一致すると、3つの異なるテーブルからidを返す方法を尋ねました。 SQLベースレコードごとに新しい行を返す

select 
    (select id from bla_facebook_accts where user_id = user.user_id) as facebook, 
    (select id from bla_linked_in_accts where user_id = user.user_id) as linkedin, 
    (select id from bla_twitter_accts where user_id = user.user_id) as twitter 
from 
    (select 12 user_id) user 

は素晴らしい作品が、私はかどうか、各テーブルの返す各select文をご希望の新しい行を返すために、レコードを持って、そしてテーブルがより多くを持っている場合は、複数行を返します各1つのレコード。

答えて

2

あなたが行きます。これにより、情報のソーステーブルも返されます。

SELECT'facebook' source, id FROM bla_facebook_accts WHERE (user_id = 12) 
UNION 
SELECT 'linkedin' source, id FROM bla_linked_in_accts WHERE (user_id = 12) 
UNION 
SELECT'twitter' source, id FROM bla_twitter_accts WHERE (user_id = 12) 
1

私はあなたがUNION構文を使用したいと考えている:

ここ
select id from bla_facebook_accts where user_id = 12 
UNION 
select id from bla_linked_in_accts where user_id = 12 
UNION 
select id from bla_twitter_accts where user_id = 12 
+0

私はまだ、他の2つのテーブルの空のフィールドを返すOUTER種類のクエリが必要です –

関連する問題