0

我有两个表作为EventTableVenueTable

我使用彼此的 prinamrykey 作为外键。表结构如下;

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


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

我想要结果如下;

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

我已经使用内部连接来执行此操作。但无法获得预期的结果。

这该怎么做 ?

谢谢..

4

3 回答 3

1

试试这个:

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)

这模拟了 MySQL 中的 FULL OUTER JOIN

于 2013-01-07T07:34:29.143 回答
0

这应该可以解决问题:

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

记住mysql的分隔符

于 2013-01-07T07:24:27.157 回答
0
SELECT v.VenueID, v.VenueName, v.EventID, e.EventName
FROM VenueTable v
INNER JOIN EventTable e  ON (v.EventId = e.EventId)

甚至

SELECT v.VenueID, v.VenueName, v.EventID, e.EventName
FROM VenueTable v, EventTable e 
WHERE v.EventId = e.EventId
于 2013-01-07T07:26:39.180 回答