ВНУТРЕННЕЕ СОЕДИНЕНИЕ С MySQL - PullRequest
3 голосов
/ 04 октября 2010

У меня проблема с MySQL.У меня есть две подобные таблицы, которые мне нужно объединить.

таблица:

id otherid2
1 |1
2 |1
3 |2
4 |2

table2:

otherid otherid2
1 |1
2 |1
3 |2
4 |2

Я использую:

SELECT id,otherid FROM table INNER JOIN table2 ON table.otherid2=table2.otherid2

Это дает мне:

id otherid
1 |1
1 |2
2 |1
2 |2
3 |3
3 |4
4 |3
4 |4

Как вы можете видеть, я получаю дубликаты идентификатора, поскольку есть otherid2s, который не уникален в таблице2.Что мне нужно, так это каким-то образом ВНУТРЕННЕЕ СОЕДИНЕНИЕ, я хочу, чтобы результат был таким, как показано ниже.Не дублирует.

Это то, что я хочу:

id otherid
1 |1
2 |1
3 |3
4 |3

Можно ли сделать это простым способом?

Ответы [ 2 ]

8 голосов
/ 04 октября 2010

Если вам нужна строка с наименьшим идентификатором в таблице2, это, вероятно, следует сделать

SELECT id, min(otherid)
FROM table 
INNER JOIN table2 
ON table.otherid2=table2.otherid2
GROUP BY id
2 голосов
/ 04 октября 2010

В вашем комментарии вы хотели наименьшее, тогда я бы предложил группу по и минимальному агрегатору

SELECT id, MIN(otherid) AS otherid ... GROUP BY id
...