Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
How To Write This Query
Message
Information générale
Forum:
Microsoft SQL Server
Catégorie:
Syntaxe SQL
Divers
Thread ID:
01396430
Message ID:
01396448
Vues:
70
SELECT p.*, ph.* 
	FROM Parts p
	JOIN  (SELECT * FROM PartHistory ph1
			WHERE NOT EXISTS 
				(SELECT 1 FROM PartHistory ph2 
					WHERE ph1.PartId = ph2.PartId AND 
						  ph1.SerialNo = ph2.SerialNo AND 
						  ph1.Sequence <> ph2.Sequence)
	    ) ph ON ph.PartId = p.PartId
-- or
SELECT p.*, ph.* 
	FROM Parts p
	JOIN  (SELECT * FROM PartHistory ph1
			WHERE 1 = (SELECT COUNT(*) FROM PartHistory ph2 
							WHERE ph1.PartId = ph2.PartId AND ph1.SerialNo = ph2.SerialNo) 
	    ) ph ON ph.PartId = p.PartId
>Here's what I have, but the result set doesn't look right. I think I need some more assistance:
>
>
>
>SELECT p.*, ph.* 
>	FROM Parts p
>	JOIN PartHistory ph ON ph.PartId = p.PartId
>	WHERE p.PartId IN
>		(SELECT PartId
>			FROM PartHistory mt1
>			WHERE NOT EXISTS 
>				(SELECT 1 
>					FROM PartHistory mt2 
>					WHERE mt1.PartId = mt2.PartId AND 
>						  mt1.SerialNo = mt2.SerialNo AND 
>						  mt1.Sequence < mt2.Sequence))
>
>
>
>
>>First, replace 'mytable' with 'PartHistory' and 'PartNo' with 'PartId'. After that you can use result set as derived table and join back to Parts on PartId.
>>
--sb--
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform