SQLite - запрос SELECT, возвращающий больше, чем ожидалось - PullRequest
0 голосов
/ 24 августа 2010

Далее моя база данных SQLite содержит 10 значений в каждой таблице.Однако при выполнении моего запроса возвращается около 100 результатов.

 SELECT videoformat, audioformat FROM videocodec, audiocodec

Есть идеи, почему он это делает?

Спасибо

Ответы [ 2 ]

4 голосов
/ 24 августа 2010

Ваш SQL говорит: для каждой строки в видеокодеке выберите все строки в аудиокодеке. Это даст 10х10 или 100 строк. Это эквивалентно:

select  *
from    videocodec
cross join
        audiocodec

Вы, вероятно, хотите получить аудио и видео кодеки. Вы можете сделать это с помощью союза:

select  codecname
from    videocodec
union
select  codecname
from    audiocodec
1 голос
/ 24 августа 2010

Вы получаете все комбинации строк из обеих таблиц, также известные как декартово произведение. 10 х 10 = 100.

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