Ich versuche, eine Abfrage zu schreiben, um in einer einzigen Zeile die Datensätze mit Werten gleich TRUE in mehreren Spalten zu erhalten. Ich dachte, es wird einfach, aber es wird langsam.MySQL - So erhalten Sie eine Zeile aus einer Tabelle mit mehreren Spalten mit True oder False
Nachdem eine Tabelle wie folgt aus:
ITEMS COL1 COL2 COL3 COL4 COL5 COL6
----------------------------------------------------
ITEM1 TRUE FALSE FALSE FALSE FALSE FALSE
ITEM1 FALSE FALSE TRUE FALSE FALSE FALSE
ITEM1 FALSE FALSE FALSE FALSE FALSE FALSE
ITEM1 FALSE FALSE FALSE FALSE FALSE TRUE
ITEM2 FALSE TRUE FALSE FALSE FALSE FALSE
ITEM2 TRUE FALSE FALSE FALSE FALSE FALSE
ITEM2 FALSE FALSE FALSE TRUE FALSE FALSE
Ich brauche so etwas zu bekommen:
ITEMS COL1 COL2 COL3 COL4 COL5 COL6
----------------------------------------------------
ITEM1 TRUE FALSE TRUE FALSE FALSE TRUE
ITEM2 TRUE TRUE FALSE TRUE FALSE FALSE
Ich versuchte distinct
und group
mit in einer einzigen Tabelle, so etwas wie dieses:
Select distinct ITEMS, COL1,COL2,COL3,COL4,COL5,COL6
FROM TABLE
WHERE (COL10=’TRUE’ or COL2=’TRUE’ or COL3=’TRUE’ or COL4=’TRUE’ or COL5=’TRUE’ or COL6=’TRUE’)
GROUP BY ITEMS
Aber es funktioniert nicht, auch ich versuchte, Joins zu den gleiche Tabelle, aber die Ergebnisse waren die gleichen, es zeigt FALSE in Spalten mit TRUE.
Also, kann jemand einen Hinweis geben, wie ich das gewünschte Ergebnis bekommen kann? Vielen Dank im Voraus.
, was Sie zu bekommen suchen, Datensätze, bei denen mindestens 1 Spalte 'true'? –
Wenn Sie nach ITEMS gruppieren, überschreibt die letzte Zeile alle vorherigen ITEMS-Werte. versuche, "GROUP BY ITEMS" zu löschen – SIDU
Danke, aber wenn ich die GROUP BY ITEMS entferne, bekomme ich mehrere Zeilen für das gleiche Element, und ich brauche eine Zeile pro ITEM mit den Spalten mit TRUE als Wert –