2011-08-12 32 views
0

ねえねえ、私はあるテーブルから情報を取得し、その情報でどのように情報を取得するかという質問があります。テーブル2の値を教えてください。1つのデータベースに2つのテーブルを結合する

要するに私は友人システムを持っていますが、別のテーブルにあるので、そのユーザーの画像を取得できません。私は彼の名前を得ることができますが、私は彼の写真を得ることはできません。だから、テーブル1にある彼の写真をどのように取得し、テーブル2に名前があるのですか?

table 1 
name Users 

id username password  Email   picture     theme 
1  bob  dabsd2323ty  [email protected]  uploads/adsda.png  themes/theme1.png 
2  fred  dabsd2323ty  [email protected]  uploads/adsda.png  themes/theme1.png 


table 2 
name Friends 

id sender receiver checked 
1  bob  fred  2 

2彼はそれをチェックして受け入れました。

ので、私は表2から名前を取得することができますが、私は表1

+0

申し訳ありませんが、2つの異なるデータベースに2つのテーブルがありますか? – dave

+0

彼らは同じデータベースにあります – ryanc1256

+0

申し訳ありませんが、私は誤解しました。 "...次に、他のデータベースに問い合わせて、テーブル2の値を教えてください。" – dave

答えて

2

からのユーザのための画像を取得する方法を知らないこれは古典的なJOINのクエリです。誰の絵が欲しいですか、送信者か受信者ですか?のは、受信機のための画像を取得してみましょう:

SELECT sender, receiver, picture 
FROM Friends JOIN Users ON(receiver = username) 
WHERE checked = 2; 

あなたは、特定のユーザのみが必要な場合は、クエリに条件sender = 'Jim'またはそのような何かを追加します。

テーブルを2回ジョインすることもできます。あなたが送信者の両方の画像を取得したいとし受信機:

SELECT COLSは、あなたが、欲しい友達左から:あなたはおそらく左が参加し、参加する必要がある

SELECT sender, receiver, U1.picture AS senderpicture, U2.picture AS receiverpicture 
FROM Friends 
    JOIN Users AS U1 ON(sender = U1.username) 
    JOIN Users AS U2 ON(receiver = U2.username) 
WHERE U2.checked = 2; 
+0

私は本当にそれを得るなぜあなたは友達からの画像を選択していますか? – ryanc1256

+0

私はそうではありません。私は 'Friends JOIN Users'から選んでいます! –

+0

「友人」だけではありません...「友人」は、Bracerで表現された条件が満たされている「ユーザー」に加わりました。 – dave

1
SELECT T1.PICTURE 
FROM TABLE2 T2 
JOIN TABLE1 T1 
ON T1.USERNAME = T2.SENDER 
+0

+1。あなたは良い答えを出しましたが、確かに大文字のものがありますか? :D – Shef

0

ユーザーに参加する Friends.username = Users.username;

関連する問題