[gelöst] SQL Wenn dann? (Lightroom-Export)

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
pcace
Beiträge: 231
Registriert: 28.08.2011 01:08:55

[gelöst] SQL Wenn dann? (Lightroom-Export)

Beitrag von pcace » 27.08.2021 22:09:08

Hi,

ich bin totaler SQL neuling und versuche grad ein gefundenes Script mit SQL abfragen umzubasteln.

Folgender SQL Befehl funktioniert:

Code: Alles auswählen

SELECT Adobe_images.id_local as photo_id, Adobe_images.orientation as orientation, Adobe_images.rating as rating,
                                  AgHarvestedExifMetadata.gpsLatitude as latitude, AgHarvestedExifMetadata.gpsLongitude as longitude,
                                  AgLibraryRootFolder.absolutePath || AgLibraryFolder.pathFromRoot || AgLibraryFile.baseName || '.' || AgLibraryFile.extension as datei,
                                  Adobe_AdditionalMetadata.xmp, Adobe_images.captureTime, Adobe_imageDevelopSettings.hasDevelopAdjustmentsEx as edits,
                                  AgLibraryFolderStackImage.stack as stack, Adobe_images.colorLabels as colorLabels
                           FROM Adobe_images
                           JOIN AgLibraryFile ON AgLibraryFile.id_local = Adobe_images.rootFile
                           JOIN AgHarvestedExifMetadata ON AgHarvestedExifMetadata.image = Adobe_images.id_local
                           JOIN AgLibraryFolder ON AgLibraryFolder.id_local = AgLibraryFile.folder
                           JOIN AgLibraryRootFolder ON AgLibraryRootFolder.id_local = AgLibraryFolder.rootFolder
                           JOIN Adobe_AdditionalMetadata ON Adobe_AdditionalMetadata.image = Adobe_images.id_local
                           JOIN Adobe_imageDevelopSettings ON Adobe_imageDevelopSettings.image = Adobe_images.id_local
                           LEFT JOIN AgLibraryFolderStackImage ON AgLibraryFolderStackImage.image = Adobe_images.id_local
raus kommt dabei eine tabelle bei der die erste spalte photo_id ist.

mit einem zweiten sql befehl kann ich schauen, in welchen "selections" die photo_id liegt:

Code: Alles auswählen

SELECT AgLibraryCollectionImage.collection
                                   FROM Adobe_images
                                   JOIN AgLibraryCollectionImage ON Adobe_images.id_local = AgLibraryCollectionImage.image
                                   WHERE Adobe_images.id_local = xxx

wobei xxx die photo_id ist.

Geht es, dass ich die erste Abfrage so umstelle, dass mir nur die zeilen ausgegeben werden, wenn bei der zweiten abfrage irgendwas ausser NULL rauskommt?

Ich hoffe man kann so einigermaßen verstehen was ich meine.. oder? ;)

Gruß und Dank
Zuletzt geändert von Meillo am 29.08.2021 20:58:38, insgesamt 2-mal geändert.
Grund: Titel ergaenzt

pcace
Beiträge: 231
Registriert: 28.08.2011 01:08:55

Re: SQL Wenn dann?

Beitrag von pcace » 27.08.2021 22:17:35

ok... antwort an mich selbst:

Code: Alles auswählen

SELECT Adobe_images.id_local as photo_id, Adobe_images.orientation as orientation, Adobe_images.rating as rating,
                                  AgHarvestedExifMetadata.gpsLatitude as latitude, AgHarvestedExifMetadata.gpsLongitude as longitude,
                                  AgLibraryRootFolder.absolutePath || AgLibraryFolder.pathFromRoot || AgLibraryFile.baseName || '.' || AgLibraryFile.extension as datei,
                                  Adobe_AdditionalMetadata.xmp, Adobe_images.captureTime, Adobe_imageDevelopSettings.hasDevelopAdjustmentsEx as edits,
                                  AgLibraryFolderStackImage.stack as stack, Adobe_images.colorLabels as colorLabels
                           FROM Adobe_images
                           JOIN AgLibraryFile ON AgLibraryFile.id_local = Adobe_images.rootFile
                           JOIN AgHarvestedExifMetadata ON AgHarvestedExifMetadata.image = Adobe_images.id_local
                           JOIN AgLibraryFolder ON AgLibraryFolder.id_local = AgLibraryFile.folder
                           JOIN AgLibraryRootFolder ON AgLibraryRootFolder.id_local = AgLibraryFolder.rootFolder
                           JOIN Adobe_AdditionalMetadata ON Adobe_AdditionalMetadata.image = Adobe_images.id_local
                           JOIN Adobe_imageDevelopSettings ON Adobe_imageDevelopSettings.image = Adobe_images.id_local
                           LEFT JOIN AgLibraryFolderStackImage ON AgLibraryFolderStackImage.image = Adobe_images.id_local
						   

WHERE EXISTS

(SELECT AgLibraryCollectionImage.collection
                                   FROM Adobe_images
                                   JOIN AgLibraryCollectionImage ON Adobe_images.id_local = AgLibraryCollectionImage.image
                                   WHERE Adobe_images.id_local = photo_id
);								   
	   


Tut was ich vor hatte. Cheers

ObiTobi
Beiträge: 67
Registriert: 03.08.2016 20:50:26

Re: [gelöst] SQL Wenn dann?

Beitrag von ObiTobi » 29.08.2021 20:30:47

Moin,

auch wenn Du die Antwort selbst gefunden hast.....
Du "fummelst" wenn ich es richtig verstehe im Lightroom Katalog? Magst Du verraten was das Zeil ist?

Tobi

pcace
Beiträge: 231
Registriert: 28.08.2011 01:08:55

Re: [gelöst] SQL Wenn dann?

Beitrag von pcace » 29.08.2021 20:34:42

Hi, das Ziel ist / war einen möglichst sauberen Transfer von Lightroom zu Apple Fotos bzw. generellen Export hinzubekommen. Vor allem, wollte ich einen Export, der es möglich macht, die Sammlungen zu exportieren, ohne doppelte Bilder zu haben ( also wenn bild 1 in 3 sammlungen drin ist, dann soll es auch so in apple fotos importiert werden bzw. als alias abgelegt werden...
Auch wenn die Entscheidung vllt. komisch klingt, aber ich will von Lightroom weg. Ich nutze es zu selten und mag nicht mehr monatlich bezahlen.
Außerdem ist es einfach extrem (!!!) langsam und ich weis einfach nicht mehr wie ich es schneller bekomme... (24core xeon, 64gb ram, NVME Lightroom platte in einem MacPro)

Naja, so richtig gut komme ich grad damit nicht voran, aber ich mach erstmal urlaub, vllt mache ich mir danach noch ein paar gedanken..

Gruß
Zuletzt geändert von pcace am 29.08.2021 21:10:53, insgesamt 1-mal geändert.

ObiTobi
Beiträge: 67
Registriert: 03.08.2016 20:50:26

Re: [gelöst] SQL Wenn dann?

Beitrag von ObiTobi » 29.08.2021 20:40:30

OK, interessant. Von Apple bin ich weg als es zu Ende mit Aperture ging. Seit dem bei Capture One - und wegen Photoshop Adobe Abo.

So wie Du es schreibst - hättest Du ggf. einige Zeilen Ausgabe mit irgendwelchen Werten bekommen. Ist bei LR nicht einfacher alles in die XMP Dateien schreiben lassen oder kann Apple Fotos damit nichts anfangen?

Tobi

Benutzeravatar
Meillo
Moderator
Beiträge: 8782
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: [gelöst] SQL Wenn dann? (Lightroom-Export)

Beitrag von Meillo » 29.08.2021 21:00:18

(Ich habe den Titel mal inhaltlich ergaenzt.)
Use ed once in a while!

pcace
Beiträge: 231
Registriert: 28.08.2011 01:08:55

Re: [gelöst] SQL Wenn dann?

Beitrag von pcace » 29.08.2021 21:15:13

ObiTobi hat geschrieben: ↑ zum Beitrag ↑
29.08.2021 20:40:30
OK, interessant. Von Apple bin ich weg als es zu Ende mit Aperture ging. Seit dem bei Capture One - und wegen Photoshop Adobe Abo.

So wie Du es schreibst - hättest Du ggf. einige Zeilen Ausgabe mit irgendwelchen Werten bekommen. Ist bei LR nicht einfacher alles in die XMP Dateien schreiben lassen oder kann Apple Fotos damit nichts anfangen?

Tobi
Ja - leider kann apple fotos damit nix anfangen. und 2. ging es mir (wie grad oben ergänzt) darum, die Sammlungen die ich über Jahre hinweg angelegt habe, sauber zu Fotos zu bekommen - denn leider sind ja viele Fotos in mehreren Smamlungen. Ich brauchte also erstens etwas, was die Fotos ansicht in der Ordnung der Sammlungen exportiert (und nicht nach daten wie in der Dateistruktur abgelegt) und 2. irgendeine lösung wie ich ein Foto in mehreren Apple Fotos Sammlungen wieder ablegen kann.
Ich habe mir dafür das meiste hier abgeschaut: https://github.com/halprin/lightroom-export
leider funktioniert das so nicht wirklich und brauchte (für mich viel Aufwand als noob ;) )einiges an bastelei...

ObiTobi
Beiträge: 67
Registriert: 03.08.2016 20:50:26

Re: [gelöst] SQL Wenn dann?

Beitrag von ObiTobi » 29.08.2021 21:55:21

pcace hat geschrieben: ↑ zum Beitrag ↑
29.08.2021 21:15:13
2. ging es mir (wie grad oben ergänzt) darum, die Sammlungen die ich über Jahre hinweg angelegt habe, sauber zu Fotos zu bekommen
Ob es Dir hilft.... in Bezug auf Fotos weiß ich nicht. Ich habe mir vor Jahren ein kleines Plugin für LR gebastelt. Also man wählt die Bilder im Katalog - in Deinem Fall wären es alle Bilder aus einer Sammlung und diese werden als Liste mit Pfaden wo die auf den Datenträgern liegen, exportiert.
Wie ich geschrieben habe bin ich von Apple weg, daher sind an glaube ich 1-2 Stellen einfach Windows Pfade (hartcodiert). Das musstest Du eben für Apple anpassen.

Antworten