临时订购表
temp_id series_id news_ticket_breakdown_id quantity expiry_time
58db09bba25b4 2 2 2 1490750973
58db09bba25b4 2 4 1 1490750973
新闻项目表
news_id series_id news_title
26 2 GENERIC TICKETING
27 2 GENERIC TICKETING
当我对 series_id 执行左连接时,我返回 4 行,但我只想要 2 行。我不确定如何将连接的行数限制为一行。
当前查询
SELECT
*
FROM
ticket_ordering_temp
LEFT JOIN
news_items
on
( news_items.series_id = SELECT
DISTINCT(event_id)
FROM
news_items
where
series_id=ticket_ordering_temp.series_id
)
where
temp_id='58db09bba25b4''
期望的结果 我只需要表 2 中的 1 行,而不是如上所述连接的 2 行
temp_id series_id news_ticket_breakdown_id quantity expiry_time news_title
58db09bba25b4 2 2 2 1490750973 GENERIC TICKETING
58db09bba25b4 2 4 1 1490750973 GENERIC TICKETING
最佳答案
对于您的示例数据和您想要的结果,您可以尝试以下sql来执行:
SELECT
ticket_ordering_temp.*, t.news_title
FROM
ticket_ordering_temp
LEFT JOIN(
SELECT DISTINCT series_id, news_title
FROM news_items
) t ON ticket_ordering_temp.series_id = t.series_id
WHERE temp_id = '58db09bba25b4'
但是,我认为您应该告诉我们这些示例数据背后的逻辑。
关于mysql - 我试图从 LEFT JOIN 中只获取一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43082654/