2017-04-11 4 views
-4

私は2つのMYSQLテーブルのイベントとユーザを持っています。これは私のイベントテーブルです:2つのMSQLテーブルを結合するには

id | 8

イベント|キャンプ

これは私のユーザーテーブルです:

id | 1

イベント|キャンプ、カヤック

FullName | John

どのようにして2つのテーブルを結合し、FullNameを印刷しますか?

+0

あなたは少し良く、データベースの構造を表示するために、質問を編集することはできますか?これは明確ではない – Loko

+0

しかし、正確に何を印刷したいですか?イベントキャンプにいるすべての人?または、最初のテーブルから名前のついたすべてのイベントに参加しているすべての人ですか? – Whencesoever

+0

私はそれがあなたが見る必要があると思うすべて - https://dev.mysql.com/doc/refman/5.7/en/left-join-optimization.html(あなたの選択要件に応じて、おそらく右の参加) –

答えて

-2
select us.*, ev.* from event ev left outer join users us on us.id (or else) = ev.id (or else) 

左のテーブルからのレコードは常にそうでない場合は、右の表 からレコードと一致していない場合:

select us.*, ev.* from event ev inner join users us on us.id (or else) = ev.id (or else) 

あなたのテーブル

はそれに役立つことを願っていた場合、キーフィールドによる接合

+0

申し訳ありませんが、私はまだPHPとmysql – ISHAK

0

あなたがやりたいことはまさにこれだと思います:

SELECT  dbo.events.event, dbo.users.id, dbo.users.FullName 
FROM   dbo.events INNER JOIN 
         dbo.users ON dbo.users.event LIKE '%' + dbo.events.event + '%' 

これは、イベント列にキャンプしているテーブルユーザーからの全員のIDとFULLNameを持つリストを提供します。

+0

にはキャンプにのみ固有の新しいので、クエリフォームでそれを書くことができますか?カヤックはどうですか?私は へのクエリをより柔軟にするだけでなく、1つのイベントに焦点を当てるだけでなく、それで私を助けることができますか? – ISHAK

+0

表示したいデータが他にもある場合や、イベントIDに基づいてWHEREにしたい場合は、それを実行してください。自分自身を試してみてください。 )。キャンプのみに特化した – Whencesoever

+0

?私はカヤックについて印刷したいのですか?私はより柔軟にクエリをしたいだけでなく、1つのイベントに焦点を当てる、あなたはそれを助けることができますか? – ISHAK

0

たとえば、私は2つのテーブルUSERSとEVENTSを持っています。 マイUSERSテーブルには、(ID、USERNAME)であると私EVENTSテーブルは (ID、USERID、EVENT)であり、私は両方のテーブルに参加したいとPHPにユーザーとそのイベントに関する完全な情報を表示します。 私のコードは

PDO :: ERRMODE_EXCEPTION])とすることができます。 $ sql = "私たちを選択してください*、ev。*イベントevから外部へ参加するユーザーはus.ID = ev.USERID"; $ recordset = $ dsn-> query($ query); foreachの($行として$レコード) は///はあなたのすべての必要なフィールドを取得あなたのループ進む }キャッチ(PDOExceptionする$ EX) {エコー$ EX->のgetMessage()。 } catch(Exception $ ex) { echo $ ex-> getMessage(); } ?>

`

関連する問題