在StackOverflow上有关于此主题的许多问题,但是以某种方式我没有掌握此错误消息的概念。我有以下查询:

SELECT COUNT(*) as `num` FROM(SELECT bedrijfsnaam FROM profiles LEFT JOIN profile_subrubriek ON profiles.ID=profile_subrubriek.profile_id LEFT JOIN rubrieken ON profile_subrubriek.subrubriek_id=rubrieken.ID WHERE rubrieken.rubriek = 'Aannemersbedrijven' UNION SELECT bedrijfsnaam FROM profiles LEFT JOIN profile_subrubriek ON profiles.ID=profile_subrubriek.profile_id LEFT JOIN rubrieken ON profile_subrubriek.subrubriek_id=rubrieken.ID WHERE profiles.hoofdrubriek = 'Aannemersbedrijven')


阅读了其他一些已回答的问题后,我尝试了以下操作:

SELECT COUNT(*) as `num` FROM(SELECT bedrijfsnaam AS profielenaantal1 FROM profiles LEFT JOIN profile_subrubriek ON profiles.ID=profile_subrubriek.profile_id LEFT JOIN rubrieken ON profile_subrubriek.subrubriek_id=rubrieken.ID WHERE rubrieken.rubriek = 'Aannemersbedrijven' UNION SELECT bedrijfsnaam  AS profielenaantal2 FROM profiles LEFT JOIN profile_subrubriek ON profiles.ID=profile_subrubriek.profile_id LEFT JOIN rubrieken ON profile_subrubriek.subrubriek_id=rubrieken.ID WHERE profiles.hoofdrubriek = 'Aannemersbedrijven')


但是没有运气。我想念什么?
谢谢!

最佳答案

您缺少表别名和过于复杂的查询。去除不明显的部分。
我假设您的错误消息是Every derived table must have its own alias,(找不到it's own duplicate

SELECT
  COUNT(*) as `num`
FROM
(
    ....
) AS tbl_alias;

07-26 03:13