mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 19.04.2024 03:56 Benutzername: Passwort: Auto-Login

Thema: SQL Abfrage vom 26.06.2015


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> SQL Abfrage
Autor Nachricht
Rareer
Threadersteller

Dabei seit: 22.06.2009
Ort: -
Alter: 35
Geschlecht: Männlich
Verfasst Fr 26.06.2015 10:55
Titel

SQL Abfrage

Antworten mit Zitat Zum Seitenanfang

Hallo Leute,

ich habe ein kleines SQL Problem, was ich nicht lösen kann. Und zwar habe ich 2 Tabellen, die folgendermaßen aussehen:

Tabelle 1:
id, name, description, main

Tabelle 2:
articleID, img, extension, color

Ich möchte nun alle Einträge bekommen, wo id mit articleID übereinstimmt. Dabei gibt es in T1 immer nur einen Eintrag und in T2 immer mehrere. z.Z. ist meine Abfrage die folgende:

Code:

"SELECT t1.name, t1.description, t1.id, t2.img, t2.extension
FROM t1
JOIN t2
ON t1.id = t2.articleID AND (t2.main = 1 OR t2.color ='')
LIMIT 10 OFFSET 0";


Soweit funktioniert es auch. Allerdings gibt es jetzt zwei Probleme.
1. Das Limit bezieht sich auf t2, obwohl es nur t1 begrenzen soll
2. Wie bekomme ich es hin, dass die Ergebnisse (mehrere Einträge), die aus t2 für einen Eintrag aus t1 geholt werden zusammengefasst werden, sodass ich insgesamt für einen Eintrag aus t1 auch nur einen Datensatz bekomme.

D.h. momentan ist das Result so:

Datensatz1:
id = 1
name = "Max"
description ="Ein Doofkopf"
...
img (aus t2) ="bild1.jpg"

Datensatz2:
id = 1
name = "Max"
description ="Ein Doofkopf"
...
img (aus t2) ="bild2.jpg"

und so weiter ... ich habe also für jeden Eintrag aus t2 einen Datensatz, der sich nur im "img" unterscheidet.
Ich möchte aber folgendes haben:

Datensatz1:
id = 1
name = "Max"
description ="Ein Doofkopf"
...
img (aus t2) = array("bild1.jpg", "bild2.jpg")

Wenn mir da jemand helfen könnte, wäre ich sehr erfreut.
  View user's profile Private Nachricht senden
bacon

Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Mo 29.06.2015 11:28
Titel

Antworten mit Zitat Zum Seitenanfang

Deine (relationale) Datenbank kann das nicht. Dazu musst Du entweder eine strukturierte Datenbank ("no sql") wie mongodb benutzen, oder ein ORM, bspw. Doctrine.
  View user's profile Private Nachricht senden
Anzeige
Anzeige
remote

Dabei seit: 10.11.2006
Ort: /var/www/
Alter: 110
Geschlecht: Männlich
Verfasst Mo 29.06.2015 17:28
Titel

Antworten mit Zitat Zum Seitenanfang

Welche Datenbank eigentlich?
MySQL?

Dann kannst Du mal gucken ob Dir ggf mit GROUP_CONCAT geholfen ist. Gibts auch in anderen Datenbanken, heisst u.U. aber anders.
  View user's profile Private Nachricht senden
 
Ähnliche Themen sql Abfrage
SQL Abfrage
[PHP] If-Abfrage
PHP if-abfrage mit radiobuttons
RadioButton abfrage
formular if abfrage
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.