2015-08-31 3 views
-4

Пожалуйста, обратитесь к следующей таблицеДобавить запись в таблице

PID  Amount Qty 

101  85.00 4 
7078 971.25 5 
7173 115.50 6 

Используя таблицу выше нужно добавить запись в новую таблицу, как показано ниже

PID  Amount Qty 

101  85.00 4 
101  971.25 5 
101  115.50 6 
7078 85.00 4 
7078 971.25 5 
7078 115.50 6 
7173 85.00 4 
7173 971.25 5 
7173 115.50 6 

Предлагайте запрос SQL для этой записи

+2

Какое странное требование. – Rahul

+0

вы можете углубить эту рыночную нишу, торгуя ею, привлекая потенциальных конкурентов на колени – Drew

ответ

1

Создание таблиц:

create table mytable(PID int, Amount decimal(5,2), Qty int); 

insert into mytable values 
(101 ,85.00 ,4), 
(7078,971.25 ,5), 
(7173,115.50 ,6); 

create table secondtable(PID int, Amount decimal(5,2), Qty int); 

Используя Cross Join, вы могли бы сделать написать запрос вставки, как это:

insert into secondtable 
select m.pid, 
     m1.amount, 
     m1.qty 
from mytable m 
cross join mytable m1; 

Оператор Select:

select * from secondtable 
order by pid,qty; 

Результат:

+------+--------+-----+ 
| PID | Amount | Qty | 
+------+--------+-----+ 
| 101 | 85  | 4 | 
| 101 | 971.25 | 5 | 
| 101 | 115.5 | 6 | 
| 7078 | 85  | 4 | 
| 7078 | 971.25 | 5 | 
| 7078 | 115.5 | 6 | 
| 7173 | 85  | 4 | 
| 7173 | 971.25 | 5 | 
| 7173 | 115.5 | 6 | 
+------+--------+-----+ 

SQL Fiddle Demo

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