Hi, habe eine kleine Anfrage zwecks einem SQL SELECT in zwei Tables zur Ausgabe eines(!) größten Wertes.
Zwei verschiedene Tables in einer DB mit einer gleichen Column. Es handelt sich um eine Datenbank von einem Photo-CMS. Die ganze Sache ist in Baumstruktur angelegt, wie in einem Dateiverzeichnis. Das CMS und das DB Design ist nicht von mir.
Die Werte in "sort_order" in beiden Tables sind abhängig voneinander. Es kommen also keine gleichen Werte in der Column "sort_order" je Verknüpfung vor (Verknüpfung: albums.parentid=images.albumid).
Es soll per SQL SELECT der (ein!) größte Wert aus den gleichen COLUMS der beiden Tables abgefragt werden. Bisher bekomme ich nur die größten Werte je Table, also zwei größte Werte, eben die aus jeder Table.
Damit bekomme ich zwei MAX-Werte in einem Array.
$result['albumssortorder'] // 7
$result['imagessortorder'] // 4
Ich suche nach einem SQL SELECT mit dem result = 7, ohne dass eine der beiden Tables ignoriert wird, weil es auch vorkommt, dass der größte Wert in "images" steht.
Ist es möglich schon im SQL SELECT nur den größeren der beiden Werte auszugeben?
Zwei verschiedene Tables in einer DB mit einer gleichen Column. Es handelt sich um eine Datenbank von einem Photo-CMS. Die ganze Sache ist in Baumstruktur angelegt, wie in einem Dateiverzeichnis. Das CMS und das DB Design ist nicht von mir.
Code:
[id - name - parentid/albumid] 0 - Foto-Ordner - - 1 - Meine-Fotos - 0 - 8 - PHOTO018.JPG - 0 - 9 - PHOTO019.JPG - 0 -- 3 - Privat-Fotos - 1 --- 0 - PHOTO010.JPG - 3 --- 1 - PHOTO011.JPG - 3 --- 2 - PHOTO012.JPG - 3 --- 3 - PHOTO013.JPG - 3 -- 4 - Urlaub-Fotos - 1 --- 4 - PHOTO014.JPG - 4 --- 5 - PHOTO015.JPG - 4 --- 6 - PHOTO016.JPG - 4 --- 7 - PHOTO017.JPG - 4 --- 5 - FRÜHLING - 4 --- 6 - SOMMER - 4 --- 7 - HERBST - 4 --- 8 - WINTER - 4 albums ######################## #id#parentid#sort_order# ######################## #5 #4 #0 # #6 #4 #6 # #7 #4 #5 # #8 #4 #7 # ######################## images ####################### #id#albumid#sort_order# ####################### #4 #4 #2 # #5 #4 #4 # #6 #4 #3 # #7 #4 #1 # ####################### Sortierung: FRÜHLING PHOTO017.JPG PHOTO014.JPG PHOTO016.JPG PHOTO015.JPG HERBST SOMMER WINTER
Es soll per SQL SELECT der (ein!) größte Wert aus den gleichen COLUMS der beiden Tables abgefragt werden. Bisher bekomme ich nur die größten Werte je Table, also zwei größte Werte, eben die aus jeder Table.
Code:
SELECT `albums`.`parentid`, `images`.`albumid`, MAX(`albums`.`sort_order`) AS 'albumssortorder', MAX(`images`.`sort_order`) AS 'imagessortorder' FROM `albums`, `images` WHERE `albums`.`parentid`='" . $parent_id . "' AND `images`.`albumid`='" . $album_id . "'
$result['albumssortorder'] // 7
$result['imagessortorder'] // 4
Ich suche nach einem SQL SELECT mit dem result = 7, ohne dass eine der beiden Tables ignoriert wird, weil es auch vorkommt, dass der größte Wert in "images" steht.
Ist es möglich schon im SQL SELECT nur den größeren der beiden Werte auszugeben?
Kommentar