我的查询需要帮助。
我有2张桌子:

all: art|serie
sootv: name|art|foo


我需要得到类似name | serie的结果。
我的查询是:

SELECT t2.NAME,
    t1.serie
FROM (
    SELECT *
    FROM `all`
    WHERE `serie` LIKE '$serie'
    ) t1
INNER JOIN sootv t2
    ON t1.art = t2.art;


它可以工作,但是sootv表包含类似

name|art|foo
abc | 1 | 5
abc | 1 | 6


我得到2个相同的结果。它不是我所需要的。
请帮帮我-我怎么只能得到一个结果:abc | 1

最佳答案

DISTINCT子句上添加SELECT

SELECT DISTINCT t2.NAME,
       t1.serie
FROM (
    SELECT *
    FROM `all`
    WHERE `serie` LIKE '$serie'
    ) t1
INNER JOIN sootv t2
    ON t1.art = t2.art;


或尝试对其进行优化

SELECT DISTINCT t2.NAME,
       t1.serie
FROM `all` t1
      INNER JOIN sootv t2
          ON t1.art = t2.art
WHERE t1.`serie` LIKE '$serie'

10-06 13:57