0

クエリについてサポートが必要です。私は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つの同じ結果が得られます。それは私が必要なものではありません。助けてください-どうすれば1つの結果しか得られません:abc | 1

4

1 に答える 1

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'
于 2012-09-07T09:36:01.847 に答える