![]() |
Datenbank: Firebird • Version: 2.5 • Zugriff über: IBDac
Wie Datensätze filtern
Hallo!
Ich hab ein kleines Problem und nachdem ich nicht so der SQL-Profi bin frag ich hier mal nach (ich hab aber schon gegoogelt, keine Sorge) Ich hab (beispielhaft) folgende Tabelle:
Code:
D.h. die Tabelle enthält Texte (Content) in verschiedenen Sprachen (Lang) die einem internen Namen (Name) zugeordnet sind.
Name Lang Default Content
first EN 1 First content (default) first EN 0 First content (customized) first DE 1 Erster Inhalt first DE 0 Vom Benutzer angepasster Text für "first" first NL 1 Eerster inhoud second EN 1 Second text third EN 1 And a third text Es gibt Standardwerte (Default=1) die vom Benutzer überschrieben werden können (Default=0) Ich möchte nun ein Select-Statement, bei dem jedes Name/Lang Pärchen nur einmal vorkommt, und zwar sollen die Einträge mit default=0 bevorzugt werden. Mein "Wunsch-Ergebnis" wäre also folgendes:
Code:
Nur: Wie??!?
Name Lang Default Content
first EN 0 First content (customized) first DE 0 Vom Benutzer angepasster Text für "first" first NL 1 Eerster inhoud second EN 1 Second text third EN 1 And a third text Ich hab schon diverse "NOT IN", "UNION" und sonstigen Konstrukte ausprobiert, aber ich find keine Lösung. Danke! |
AW: Wie Datensätze filtern
Passt das so?
SQL-Code:
SELECT
Name, Lang, "Default", Content FROM Tabelle T1 WHERE T1."Default" = ( SELECT MIN("Default") FROM Tabelle T2 WHERE T2.Name = T1.Name AND T2.Lang = T1.Lang ) |
AW: Wie Datensätze filtern
You're the man!!!
Danke! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz