Ich habe zwei Tabellen mit einer eins zu viele Beziehung, die ich versuche beizutreten. Die Elterntabelle hat einen eindeutigen Schlüsselwert, der mit der Kindtabelle geteilt wird. Die untergeordnete Tabelle speichert den Verlauf für diesen Schlüssel, sodass mehrere Datensätze vorhanden sind. Beispiel unten.SQL Join eins zu viele Extrakt Wert aus der Gruppe der gleichen Schlüssel Wert, wo die Bedingung erfüllt ist
Was ich brauche, ist den Arbeiter Namen für eine Alert-ID zu extrahieren, wo die Aktion 'Alert Closed' für eine bestimmte Gruppe der gleichen Alert-ID ist. Wenn diese Gruppe derselben Alert-ID keinen Datensatz mit action = 'Alert Closed' enthält, nehmen Sie den Namen des Arbeiters mit dem neuesten Zeitstempel. Mir fehlt das Wissen darüber, wie man Zeitstempelspalten vergleicht. Ich erhalte auch immer noch Duplikate, wenn "Alarm geschlossen" wahr ist.
Tabelle 1
alert_id
---------
123
456
537
Tabelle 2
alert_id worker_name action timestamp
---------------------------------------------------------
123 system Alert Created 8/6/2016 8:05:26
123 james bond Alert Opened 8/6/2016 8:05:30
123 james bond Alert Closed 8/6/2016 8:05:35
123 james bond Record updated 8/6/2016 8:05:35
456 system Alert Created 8/6/2016 8:05:26
456 admin Alert updated 8/6/2016 8:06:14
537 system alert created 8/6/2016 8:07:20
537 Mary hill Alert Closed 8/6/2016 8:08:26
sollte resultierende Tabelle sein:
alert_id worker_name
-----------------------
123 james bond
456 admin
537 Mary Hill
Welche Datenbank verwenden Sie? – m13r
ist dieser Sql Server oder MySql usw.? – EoinS
netezza udb wenn das hilft –