Технологии

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

  • Саша - аватарка

    Саша

    16-й в Технологиях

    Не понял немного… вам надо получить что? одну строку с данными типа id1|name1|id2|name2|id3|name3 и т.д.? тогда это надо писать функцию, которая делает выборку, проходиться по строкам и конкатенирует все в одну строку

    если вам надо получить все строки с определенными айдишниками, тогда можно сделать так:

    select id, name from table where id in (ваши_айдишники_через_запятую)

    а потом с полученными данными уже делать что угодно, в том числе и произвести объединение в одну строку...

    если же вы делаете обычный поиск по названию, то можно так:

    select id, name from table where name like '%нужные_данные%'

    а потом с полученными данными делать что необходимо

    апрель 18, 2013 г.
  • Саша - аватарка

    Саша

    16-й в Технологиях

    к дополнению:

    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' ]; }

    в итоге получаете массив, каждый элемент которого содержит необходимые строки

    апрель 18, 2013 г.
    Ответ понравился автору

Похожие вопросы

Опишите данный запрос

март 24, 2023 г.

Технологии