[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Выборка одинаковых значений
Страницы: 1, 2
17th
Можно ли, каким то образом, вернуть 2 строки с помощью такого запроса?
SELECT * FROM table WHERE id in (1,1)

Или n строк в запросе вида
SELECT * FROM table WHERE id in (1,1,3,..,n)

Количество строк=количеству чисел.
rooor
Цитата
вернуть 2 строки с помощью такого запроса

каким образом можно вернуть 2 строки, если WHERE id in (1,1)

Цитата
Количество строк=количеству чисел

откуда числа? для вывода количества строк есть LIMIT
если числа из массива, то, например, LIMIT count($array)
koala
SELECT * FROM table WHERE id in (1,1,3,..,n) GROUP BY id


_____________
Vi Veri Veniversum Vivus Vici
17th
SELECT * FROM table WHERE id in (1,1)
SELECT * FROM table WHERE id in (1,1) GROUP BY id

По таким запросам mysql вернет 1 строку, так как одинаковые числа в in().
строка 1

Возможно ли вернуть 2 одинаковые строки?
строка 1
строка 1
koala
SELECT * FROM table WHERE id in (1,1) LIMIT 2


P.S. Правильно составленный вопрос - половина ответа.

_____________
Vi Veri Veniversum Vivus Vici
17th
Все равно 1 строку возвращает.
koala
17th, по тому, что в базе одна строка в id 1.


_____________
Vi Veri Veniversum Vivus Vici
17th
То есть, невозможно в результате получить дублирующиеся строки?
rooor
а можно узнать конечную цель данного вопроса? для чего получать 2 одинаковые строки?
koala
17th, возможно, если они действительно дублируются в бд.
Или вместо одного запроса использовать два. Или другой вариант через использование языковых конструкций SQL - но стоит ли игра свеч?




_____________
Vi Veri Veniversum Vivus Vici
17th
Я понял. Спасибо.
Valick
17th, вы бы лучше описали зачем вы такую задачу поставили перед собой?
если нужны две одинаковые строки, то из базы можно (и нужно) достать одну и вывести её два раза...


_____________
Стимулятор ~yoomoney - 41001303250491
17th
Мне нужно сделать выборку из десятка статей, я достаю из базы информацию об урле статьи.

Таблица категории
с_id, с_url, с_name

Таблица статьи
a_id, a_c, a_url, a_name

a_c - с_id категории из таблицы категории

вот мой запрос на получения url категории по известным a_id статьям (1,3,5 - например)
SELECT `c_url` FROM `cat` WHERE c_id in (SELECT `a_c` FROM `art` WHERE c_id in(1,3,5))

Дело в том, что категории статей могут совпадать и запрос вернет 2 строки для 3 статей, например.
Valick
17th, вы имеете ввиду что у одной статьи могут быть две и более категории, и вам необходимо отобразить одну и ту же статью во всех категориях?


_____________
Стимулятор ~yoomoney - 41001303250491
17th
У разных статей могут быть одинаковые категории. Но категория у статьи только одна
Статья 1 - Категория 1
Статья 2 - Категория 1
SELECT `a_c` FROM `art` WHERE c_id in(1,3,5)
может вернуть (1,1,2)
в таком случае
SELECT `c_url` FROM `cat` WHERE c_id in(1,1,2)

вернет 2 строки, содержащие урлы для 3 статей, а нужно 3 строки
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.