2009-09-28 3 views
0

Это DB Schema:Как это сделать в Sql? Loop? Multi-Insert?

PC 
- id (pri key) 
- model 
- name 

Laptop 
- id (pri key) 
- model 
- name 

Как получить для каждого уникального (модели) ноутбук, как вставить его в компьютер с номером модели + 1? (+1, потому что я знаю, что вставка может работать, но проблема, которая мне нужна, не будет решена с помощью вставки)

Любая подсказка?


Разработка:

Для каждых уникальных (в зависимости от модели колонки) записей ноутбуков, которые мы имеем, мы хотим, чтобы создать запись компьютера, в котором столбец модели для PC будет +1 модели столбец в ноутбуке.

+1

CREATE VIEW Laptop ... – jrockway

+0

Я не уверен, что понимаю, что вы пытаетесь сделать здесь. Вы хотите импортировать записи с ноутбука в ПК? –

+0

Вам действительно нужно лучше объяснить то, что вы ищете. Вопрос очень трудно понять. – JohnFx

ответ

3

+1 не останавливается «INSERT INTO» от работы:

INSERT INTO PC 
    (Model, Name) 
SELECT DISTINCT Model + 1, Name 
FROM Laptop 
+0

Просто догадаться, потому что вопрос трудно понять, но я думаю, что OP добавил +1, потому что они как-то думали, что использование того же номера модели сделает вставку неудачной. Я думаю, что это было обходным путем, и они не обязательно хотели, чтобы номер модели был +1. – JohnFx

0

Это было упомянуто в комментариях jrockway и, вероятно, ваш лучший выбор, если вы планируете держать 1-1 отношения ноутбуков на ПК с номером модели +1.

Отбросьте стол ноутбука в целом и просто создать следующий вид (Предполагая, что SQL Server):

CREATE VIEW PC 
AS 
SELECT ID,Model+1 as Model, Name 
FROM Laptop 

Таким образом, вы не должны управлять и держать две таблицы синхронизированы.

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