2013-06-05 4 views
5

У меня есть два стола с одной колонкой. т.е. типа и URL они являютсяОбъедините две таблицы без отношения между ними

items 
----- 
image 
image 
image 
video 

items 
----- 
http://photo.com/some.jpg 
http://photo.com/some1.jpg 
http://photo.com/some2.jpg 
http://video.com/some.avi 

Я хочу привести в качестве

Type      URL 
    ----------------------------- 
    image     http://photo.com/some.jpg 
    image     http://photo.com/some1.jpg 
    image     http://photo.com/some2.jpg 
    video     http://video.com/some.avi 

, как я могу получить результат здесь типа и URL таблица не имеют primery ключевого столбца

+4

Как вы могли бы связать их, если они ничего не разделяют? Вам нужно переконфигурировать ваши таблицы, чтобы иметь идентификатор или сделать одну таблицу. – sashkello

+0

В противном случае вы можете regexp определить тип файла ... – sashkello

+0

@sashkello первый элемент таблицы Type относится к первому элементу таблицы URL и так далее. – manoj

ответ

3

Вы можете найти интересующие вас решение Here

Ниже Detail

CREATE TABLE T1 (
    items VARCHAR(10) 
) 
CREATE TABLE T2 (
    items VARCHAR(100) 
) 
INSERT INTO T1 
VALUES ('image'),('image'),('image'),('video') 

INSERT INTO T2 
VALUES ('http://photo.com/some.jpg'),('http://photo.com/some1.jpg'),('http://photo.com/some2.jpg'),('http://video.com/some.avi') 


select TT1.t1_items as Type,TT2.t2_items as URL from 
(select items t1_items,row_number() over(order by (SELECT 0)) as t1r from t1) as TT1, 
(select items t2_items,row_number() over(order by (SELECT 0)) as t2r from t2) as TT2 
where TT1.t1r = TT2.t2r 
+1

Это верно только в том случае, если намерение состоит в том, чтобы объединить оба индекса в алфавитном порядке. OP должен добавить поле «id» для соединения или просто использовать одну таблицу, как уже сказал @sashkello. –

+0

@MartinSmith прав, если я размещаю видео во второй строке таблицы типов, тогда он дает результат ошибки – manoj

Смежные вопросы