Mariadb 具有内部联接的MySQL查询语法错误

Mariadb 具有内部联接的MySQL查询语法错误,mariadb,Mariadb,我有以下疑问: ( SELECT * FROM salon_promo tt INNER JOIN (SELECT salon_id, MAX(promo_id) AS MaxDateTime FROM salon_promo GROUP BY salon_id) groupedtt ON tt.salon_id = groupedtt.salon_id AND tt.promo_id = groupedtt.Max

我有以下疑问:

(
 SELECT * FROM salon_promo tt 
   INNER JOIN 
    (SELECT salon_id, MAX(promo_id) AS MaxDateTime 
       FROM salon_promo 
       GROUP BY salon_id) 
     groupedtt ON tt.salon_id = groupedtt.salon_id 
       AND tt.promo_id = groupedtt.MaxDateTime) 
   INNER JOIN salons USING (salon_id)
SELECT * from salon_promo INNER JOIN salons USING (salon_id)
并接收以下错误消息:

错误:您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,了解第1行“内部加入沙龙使用(沙龙id)”附近使用的正确语法

当我使用以下查询时:

(
 SELECT * FROM salon_promo tt 
   INNER JOIN 
    (SELECT salon_id, MAX(promo_id) AS MaxDateTime 
       FROM salon_promo 
       GROUP BY salon_id) 
     groupedtt ON tt.salon_id = groupedtt.salon_id 
       AND tt.promo_id = groupedtt.MaxDateTime) 
   INNER JOIN salons USING (salon_id)
SELECT * from salon_promo INNER JOIN salons USING (salon_id)
一切正常。并从()查询:


也很好。什么会导致问题?

您的查询错误

这个

应该是

groupedtt.MaxDateTime
最后一个问题是

SELECT * 
FROM salon_promo tt 
INNER JOIN (
    SELECT salon_id, MAX(promo_id) AS MaxDateTime 
    FROM salon_promo 
    GROUP BY salon_id) 
groupedtt ON tt.salon_id = groupedtt.salon_id 
AND tt.promo_id = groupedtt.MaxDateTime 
INNER JOIN salons USING (salon_id)

错误:from子句中的“salon_id”列不明确
MaxDateTime
是字段名称。(
…MAX(promo_id)作为MaxDateTime…
)@Abdulla-yep,就是这样!但是,我们必须在tt.salon\u id=salons.salon\u id上使用(salon\u id)(使用doesn't'work)@NikitaPronchik乐于帮助:)