我的查询需要帮助。
我有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'