Получение уникальных строк / значений в SQL - PullRequest
0 голосов
/ 12 октября 2009

Получение уникальных строк / значений в SQL. У меня есть такие же данные, как это

valueA  ValueB    ValueC

test    "Value1"  "Something"

test    "Value1"  "Something else"

test2   "Value1"  "Something else"

Итак, я хочу получить первые две строки, поскольку valueC отличается, а затем я также хочу строку 3.

но скажем, строка 4 -

test    "Value1"  "Something"

То же, что и строка 1. Я не хочу эту строку.

Могу ли я сделать это с помощью оператора select или где-то еще?

В моей схеме ValueA находится в одной таблице, а затем значения b и C взяты из другой таблицы. Так что я делаю что-то вроде

select * from table1,table2

, что дает мне 3 значения.

Но я не хочу повторных значений.

Ответы [ 7 ]

3 голосов
/ 12 октября 2009
SELECT DISTINCT * FROM Table1, Table2

будет делать то, что вы хотите.

Однако в вашем операторе SELECT отсутствует критерий, указывающий системе , как объединять строки. Поэтому вы получите декартово произведение, содержащее количество строк, равное количеству строк в Таблице1, умноженному на количество строк в Таблице2. Обычно это , а не , что вы хотите (иногда это так).

Так что вы, вероятно, хотите что-то вроде:

SELECT DISTINCT * FROM Table1, Table2 WHERE Table1.SomeColumn = Table2.SomeColumn

или, на более современном диалекте SQL:

SELECT DISTINCT * FROM Table1 INNER JOIN Table2 ON Table1.SomeColumn = Table2.SomeColumn
1 голос
/ 12 октября 2009
SELECT DISTINCT *
FROM table1, table2
1 голос
/ 12 октября 2009

Возможно, вы захотите взглянуть на ссылку SQL для:

  • Уникальная
  • Четкая
  • Группировка по
1 голос
/ 12 октября 2009

Выберите Различный * из таблицы1, таблицы2

1 голос
/ 12 октября 2009

Используйте SELECT DISTINCT?

Как в:

SELECT DISTINCT value1, value2, value3 FROM table1, table2
0 голосов
/ 12 октября 2009

Попробуйте это:

select a.valueA, b.valueB, b.valueC
from table1 a join table2 b on <join condition>
group by a.valueA, b.valueB, b.valueC;
0 голосов
/ 12 октября 2009

Как насчет этого?

SELECT DISTINCT * FROM Table1, Table2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...