Mysql 一个“-我也是;-)@mistermartin我试图删除一些联接,但我想你需要在内部和外部查询中使用所有三个表。我试图在这一个表上绞尽脑汁,但它似乎返回了重复的结果/将它们不属于的项目放在制造商旁边……”我试图在这一个表上绞尽脑汁“-我也是;-)@mist
Mysql 一个“-我也是;-)@mistermartin我试图删除一些联接,但我想你需要在内部和外部查询中使用所有三个表。我试图在这一个表上绞尽脑汁,但它似乎返回了重复的结果/将它们不属于的项目放在制造商旁边……”我试图在这一个表上绞尽脑汁“-我也是;-)@mist,mysql,sql,database,pdo,Mysql,Sql,Database,Pdo,一个“-我也是;-)@mistermartin我试图删除一些联接,但我想你需要在内部和外部查询中使用所有三个表。我试图在这一个表上绞尽脑汁,但它似乎返回了重复的结果/将它们不属于的项目放在制造商旁边……”我试图在这一个表上绞尽脑汁“-我也是;-)@mistermartin我试图删除一些连接,但我想您需要在内部和外部查询中使用所有三个表。 SELECT a.item_id, a.title, a.series, c.title AS
一个“-我也是;-)@mistermartin我试图删除一些联接,但我想你需要在内部和外部查询中使用所有三个表。我试图在这一个表上绞尽脑汁,但它似乎返回了重复的结果/将它们不属于的项目放在制造商旁边……”我试图在这一个表上绞尽脑汁“-我也是;-)@mistermartin我试图删除一些连接,但我想您需要在内部和外部查询中使用所有三个表。
SELECT a.item_id,
a.title,
a.series,
c.title AS manufacturer_title
FROM catalog_items AS a
JOIN catalog_franchises AS c ON a.manufacturer_id = c.franchise_id
JOIN catalog_franchises AS e ON a.game_id = e.franchise_id
WHERE e.franchise_id = 6
AND a.valid = TRUE
AND c.valid = TRUE
AND e.valid = TRUE
ORDER BY c.title, a.series, a.title
item_id series manufacturer_title
46 2 fantasy flight games
63 1 gaming heads
64 1 gaming heads
33 2 reaper miniatures
124 1 triforce
125 1 triforce
45 1 triforce
43 1 usaopoly
item_id series manufacturer_title
46 2 fantasy flight games
63 1 gaming heads
33 2 reaper miniatures
124 1 triforce
43 1 usaopoly
item_id series manufacturer_title
46 2 fantasy flight games
63 1 gaming heads
64 1 gaming heads
33 2 reaper miniatures
SELECT GROUP_CONCAT(a.item_id) as items,
a.series, c.title AS manufacturer_title
FROM catalog_items a JOIN
catalog_franchises c
ON a.manufacturer_id = c.franchise_id JOIN
catalog_franchises e
ON a.game_id = e.franchise_id
WHERE e.franchise_id = 6 AND
a.valid = TRUE AND
c.valid = TRUE AND
e.valid = TRUE
GROUP BY a.series, c.title
ORDER BY c.title, a.series;
SELECT ist.*
FROM (SELECT ist.*,
(@rn := if(@st = concat_ws(':', a.series, manufacturer_title), @rn,
if(@st := concat_ws(':', a.series, manufacturer_title), @rn + 1, @rn + 1)
)
) as rn
FROM (SELECT a.item_id, a.series, c.title AS manufacturer_title
FROM catalog_items a JOIN
catalog_franchises c
ON a.manufacturer_id = c.franchise_id JOIN
catalog_franchises e
ON a.game_id = e.franchise_id
WHERE e.franchise_id = 6 AND
a.valid = TRUE AND
c.valid = TRUE AND
e.valid = TRUE
ORDER BY c.title, a.series
) ist CROSS JOIN
(SELECT @rn := 0, @st := '') params
) ist
WHERE rn <= 3;
SELECT DISTINCT a2.series, c2.title
FROM catalog_items AS a2
JOIN catalog_franchises AS c2 ON a2.manufacturer_id = c2.franchise_id
JOIN catalog_franchises AS e2 ON a2.game_id = e2.franchise_id
WHERE e2.franchise_id = 6
AND a2.valid = TRUE
AND c2.valid = TRUE
AND e2.valid = TRUE
ORDER BY c2.title, a2.series
LIMIT 3
SELECT DISTINCT c.title, a.series
FROM catalog_items AS a
JOIN catalog_franchises AS c ON a.manufacturer_id = c.franchise_id
JOIN catalog_franchises AS e ON a.game_id = e.franchise_id
WHERE e.franchise_id = 6
AND a.valid = TRUE
AND c.valid = TRUE
AND e.valid = TRUE
ORDER BY c.title, a.series
LIMIT 3
SELECT a.item_id,
a.title,
a.series,
c.title AS manufacturer_title
FROM catalog_items AS a
JOIN catalog_franchises AS c ON a.manufacturer_id = c.franchise_id
JOIN catalog_franchises AS e ON a.game_id = e.franchise_id
-- begin injected code
JOIN (
SELECT DISTINCT c.title, a.series
FROM catalog_items AS a
JOIN catalog_franchises AS c ON a.manufacturer_id = c.franchise_id
JOIN catalog_franchises AS e ON a.game_id = e.franchise_id
WHERE e.franchise_id = 6
AND a.valid = TRUE
AND c.valid = TRUE
AND e.valid = TRUE
ORDER BY c.title, a.series
LIMIT 3
) x ON a.series = x.series AND c.title = x.title
-- end injected code
WHERE e.franchise_id = 6
AND a.valid = TRUE
AND c.valid = TRUE
AND e.valid = TRUE
ORDER BY c.title, a.series, a.title