MBoy2
asked on
SQL - SP needs help
The last select (ObserverID) needs help. I'm moving data from a really ugly db design to something more normalized.
IF EXISTS (SELECT * FROM SYSOBJECTS WHERE ID = OBJECT_ID(N'[dbo].[Mote_Ge tAllV1Nest Data]') AND OBJECTPROPERTY(id, N'IsProcedure') = 1)
DROP PROCEDURE [dbo].[Mote_GetAllV1NestDa ta];
GO
CREATE PROCEDURE [dbo].[Mote_GetAllV1NestDa ta]
AS
BEGIN
SELECT
[ID] As 'OriginalNestID',
'IsNest' = CASE [Nest]
WHEN 0 THEN '0'
WHEN 1 THEN '1'
Else '0'
END,
'UnmarkedNest' = CASE [Verified]
WHEN 0 THEN '0'
WHEN 1 THEN '1'
Else '0'
END,
[Ft# So#] As 'FTNumberSONumber',
'NestLocationDate' = CASE WHEN ISDATE(Cast([Date] as datetime)) = 1
THEN CONVERT(VARCHAR(10), [Date], 101)
ELSE '01/01/1900'
END,
'ObserverID' = (SELECT [Mote_Observer].[ObserverI D] WHERE [V1Nest].[Observer] =[Mote_Observer].[Observer Name])
FROM [V1Nest], [Mote_Observer]
END
GO
IF EXISTS (SELECT * FROM SYSOBJECTS WHERE ID = OBJECT_ID(N'[dbo].[Mote_Ge
DROP PROCEDURE [dbo].[Mote_GetAllV1NestDa
GO
CREATE PROCEDURE [dbo].[Mote_GetAllV1NestDa
AS
BEGIN
SELECT
[ID] As 'OriginalNestID',
'IsNest' = CASE [Nest]
WHEN 0 THEN '0'
WHEN 1 THEN '1'
Else '0'
END,
'UnmarkedNest' = CASE [Verified]
WHEN 0 THEN '0'
WHEN 1 THEN '1'
Else '0'
END,
[Ft# So#] As 'FTNumberSONumber',
'NestLocationDate' = CASE WHEN ISDATE(Cast([Date] as datetime)) = 1
THEN CONVERT(VARCHAR(10), [Date], 101)
ELSE '01/01/1900'
END,
'ObserverID' = (SELECT [Mote_Observer].[ObserverI
FROM [V1Nest], [Mote_Observer]
END
GO
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
'ObserverID' = (SELECT [Mote_Observer].[ObserverI D] WHERE [V1Nest].[Observer] =[Mote_Observer].[Observer Name])
is missing from statement...
is missing from statement...
ASKER
Thanks
'IsNest' = CASE [Nest]
WHEN 0 THEN '0'
WHEN 1 THEN '1'
ELSE '0'
END,
'UnmarkedNest' = CASE [Verified]
WHEN 0 THEN '0'
WHEN 1 THEN '1'
ELSE '0'
END,
[Ft# So#] AS 'FTNumberSONumber',
'NestLocationDate' = CASE
WHEN ISDATE(CAST([Date] AS DATETIME)) = 1 THEN
CONVERT(VARCHAR(10), [Date], 101)
ELSE '01/01/1900'
END,
[Mote_Observer].[ObserverI
FROM [Mote_Observer]
INNER JOIN [V1Nest].[Observer]
ON [Mote_Observer].[ObserverN