podzapytanie do insert

0

"Dodaj do tabeli klienci dane Izy Matusiak (idklienta 93).
Pozostałe dane osobowe Izy Matusiak muszą być takie same jak dla Pana
Edwarda Matusiaka. Użyj podzapytań."
dane Ewarda:

idklienta: 90,
nazwa: Matusiak Edward,
ulica: Kropiwnickiego 6/3,
miejscowosc: Leningrad,
kod: 31-471,
telefon: 031 423 45 38,

Próbuje robić to tak:

insert into klienci values (93,
'Matusiak Iza'), (select ulica,
miejscowosc,
kod,
telefon from klienci where nazwa= 'Matusiak Edward'));

Ktoś wie jak to napisać żeby było dobrze?

1

Przykład dla bazy MS SQL

-- na początek tworze tabele aby przykład można było odtworzyć
-- i dodaje do niej jeden rekord przykładowy
USE [Nazwa_mojej_bazy]
GO

/****** Object:  Table [dbo].[klienci]    Script Date: 2014-01-11 18:41:15 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[klienci](
	[idklienta] [int] NULL,
	[nazwa] [nvarchar](50) NULL,
	[ulica] [nvarchar](50) NULL,
	[miejscowosc] [nvarchar](50) NULL,
	[kod] [nchar](10) NULL,
	[telefon] [nvarchar](50) NULL,
	[id] [int] IDENTITY(1,1) NOT NULL,
 CONSTRAINT [PK_klienci] PRIMARY KEY CLUSTERED 
(
	[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
-- dodaje dane przkładowe
INSERT INTO [dbo].[klienci]
           ([idklienta]
           ,[nazwa]
           ,[ulica]
           ,[miejscowosc]
           ,[kod]
           ,[telefon])
     VALUES
           (90
           ,'Matusiak Edward'
           ,'ulica: Kropiwnickiego 6/3'
           ,'Leningrad'
           ,'31-471'
           ,'031 423 45 38')
GO
-------- koniec tworzenia tabeli oraz dodawania rekordu testowego

A teraz zapytanie o które prosiłeś

 
-- dodawanie nowego rekordu plus dane z pasującego po IDklienta
-- uwaga jeżeli będzie więcej niż jedne rekord użyj  "TOP 1" po słowie SELECT
Declare @Nazwa nvarchar(50)
set @Nazwa='Izy Matusiak'
Declare @idklienta int
set @idklienta=90


INSERT INTO [dbo].[klienci]
           ([idklienta]
           ,[nazwa]
           ,[ulica]
           ,[miejscowosc]
           ,[kod]
           ,[telefon])
        (select @idklienta,@Nazwa,ulica,miejscowosc,kod,telefon from klienci where idklienta=@idklienta)
GO


1 użytkowników online, w tym zalogowanych: 0, gości: 1