Технологии
SQL запрос - вопрос №611953
Как составить запрос на выборку
Допустим имеется таблица товары:
ID|название
1|n1
2|n2
3|n3
как сделать выборку вида
ID|<поиск по ID товара 1>as Инд1,<поиск по ID товара 2>as Инд2
где надо прописывать условие
Дополнение автора от апрель 18, 2013 г., 16:36:03
получить пытаюсь, что бы было 2 столбца в одном ID, в другом конкретинация строк разных id другой таблицы
столбец ID|столбец значений(выборками по id из другой таблицы) & в одну строку
Дополнение автора от апрель 18, 2013 г., 16:40:14
т.е образно так:
Select ID,(select Name from tabl1 where id=1,select Name from tabl1 where id=2)as T
from tabl 2
Антон апрель 18, 2013 г.
-
Всего ответов: 2
-
Не понял немного… вам надо получить что? одну строку с данными типа id1|name1|id2|name2|id3|name3 и т.д.? тогда это надо писать функцию, которая делает выборку, проходиться по строкам и конкатенирует все в одну строку
если вам надо получить все строки с определенными айдишниками, тогда можно сделать так:
select id, name from table where id in (ваши_айдишники_через_запятую)
а потом с полученными данными уже делать что угодно, в том числе и произвести объединение в одну строку...
если же вы делаете обычный поиск по названию, то можно так:
select id, name from table where name like '%нужные_данные%'
а потом с полученными данными делать что необходимо
-
к дополнению:
1) снова таки писать функцию, которая будет объединять строки
2) сделать запрос типа
select t1.id, t2.id as t2id, t2.name from table t1 inner join table2 t2 on t1.id = t2.idt1 where t1 in (айдишники_изпервой таблицы_через_запятую)
получите что-то типа такого:
1 1 name1
1 2 name2
1 3 name3
2 4 name4
получаете это все например в массив, а потом проходиться по массиву(пример на PHP)
$newrow=array();
foreach ( $allarray as $array ) { $newrow[ $array [ 'id' ] ]. = $array[ 't2id' ]. ' — '. $array [ 'name' ]; }
в итоге получаете массив, каждый элемент которого содержит необходимые строки
Похожие вопросы
Закрыт
vip
Добавить в запрос данные по столбцу из другой таблицы SQL
ноябрь 2, 2023 г.