mysql - 查询返回错误的输出

标签 mysql sql

餐 table 报价

id_offer  offer   state    

600         A       0
629         B       0

标签

id_tags     tags        

561         PHP
562         JAVA
589         MySQL
917         python

offer_has_tags

offer_id_offer      tags_id_tags 
 600                    561     
 600                    562
 600                    917
 629                    562
 629                    589
 629                    917

我需要的输出:

600     PHP
600     JAVA
600     python
629     JAVA
629     MySQL
629     python

我正在尝试的(没有成功):

    SELECT A.id_offer, A.tags
    FROM 
      ( SELECT *
        FROM offer
        WHERE id_offer IN (600, 629)
        AND state = 0  
        ORDER BY date_post DESC
        LIMIT ?, ?
      ) A, tags A
    INNER JOIN offer_has_tags B
        ON A.id_tags = B.tags_id_tags
    INNER JOIN offer C
        ON C.id_offer = B.offer_id_offer
    GROUP BY id_tags

有什么想法吗?谢谢

最佳答案

试试这个

SELECT A.id_offer, t.tags
from 
  (Select * from offer o
    Where o.id_offer IN (600, 629)
    AND o.State=0
    ORDER BY ? DESC
    Limit ?,?) A
INNER JOIN offer_has_tags B
    ON A.id_offer = B.offer_id_offer
INNER JOIN tags t
    ON b.tags_id_tags = t.id_tags

关于mysql - 查询返回错误的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11596987/

相关文章:

MySQL:将表字段连接到相关结果集

php - WHMCS Action Hook

sql - 仅当所有列值都不为 0 时才对行求和

php - 如何删除前导零?

sql - 如何在 SQL Server 中的 select 语句中将表名作为参数传递

sql - 获取列,4 个表

sql - 如何在 Oracle SQL 中选择相关的一组项目

mysql - 如何使用 Group by 子句更新具有特定计数的多行?

MySQL - 是否可以使用正则表达式来计算行数?

sql - MySQL查询帮助(涉及连接?)