rohan panchal
rohan panchal

Reputation: 881

how to join two tables

I have two tables as EventTable and VenueTable

I m Using prinamrykey of each other as foreignkey. Table structure is as follows ;

EventID|VenueID|EventName 
    1  |    1  | Event1 
    2  |    1  | Event2 
    3  |    2  | Event3 


VenueId|EnevtID|VenueNAme
   1   |   1   | Venue1 
   2   |   2   | Venue2 

and i want the result as follows ;

VenueID | VenueName | EventID | EventName
   1    | Venue1    |  1      | Event1 
   1    | Venue1    |  2      | Event2 
   2    | Venue2    |  2      | Event2
   2    | Venue2    |  3      | Event3

I have used inner join to do this., but could not get the expected result.

How to do this ?

Thanks..

Upvotes: 0

Views: 113

Answers (3)

user985189
user985189

Reputation:

Try this:

SELECT
    v.VenueID,
    v.VenueName,
    v.EventID,
    e.EventName
FROM
    VenueTable v
INNER JOIN
    EventTable e 
    ON (v.EventId = e.EventId)

UNION

SELECT
    v.VenueID,
    v.VenueName,
    v.EventID,
    e.EventName
FROM
    VenueTable v
INNER JOIN
    EventTable e 
    ON (v.VenueID = e.VenueID)

This emulates a FULL OUTER JOIN in MySQL

Upvotes: 1

medina
medina

Reputation: 8159

SELECT v.VenueID, v.VenueName, v.EventID, e.EventName
FROM VenueTable v
INNER JOIN EventTable e  ON (v.EventId = e.EventId)

Or even

SELECT v.VenueID, v.VenueName, v.EventID, e.EventName
FROM VenueTable v, EventTable e 
WHERE v.EventId = e.EventId

Upvotes: 0

Ricco E
Ricco E

Reputation: 95

This should do the trick:

 select VenueID, VenueName, EventID, EventName
    from EventTable, VenueTable
    where EventTable.VenueID = VenueTable.VenueID

remember delimiter for mysql

Upvotes: 0

Related Questions