2017-01-13 3 views
-1

enter image description here i alle den Wert auszuwählen muß aber für jedes Schlepptau von ihnen gibt es verschiedene Bedingungen ...Gruppe Bankabfrage auf mysql

SELECT `csn`,`lsn` FROM `critical_limits` WHERE `limits` = 'vl' 

und

SELECT `csp`,`lsp` FROM `critical_limits` WHERE `limits` = 'm' 

und speichert sie in einem einzelnes Array.

+1

Bearbeiten Sie Ihre Frage und Probenergebnisse liefern. –

+0

Ich meine, ich brauche den Wert von CSN, LSN, CSP, Lsp, CKS, Lsk ... der Rest von ihnen, aber für CNS, LSN oder Csp, lsp brauche ich andere Bedingung, die ich in Grenzen Spalte vergleichen. –

+0

Was hast du versucht, was genau ist schief gelaufen, ... -> [frag]! – jkalden

Antwort

1

können Sie union all verwenden:

SELECT `csn`,`lsn` FROM `critical_limits` WHERE `limits` = 'vl' 
UNION ALL 
SELECT `csp`,`lsp` FROM `critical_limits` WHERE `limits` = 'm'; 

Hinweis: union Overhead entstehen Duplikate zu entfernen. Normalerweise ist dies nicht erwünscht, also sollten Sie union all verwenden.

Eine Alternative ist ein Bündel von CASE Aussagen:

SELECT (CASE WHEN limits = 'vl' THEN csn ELSE csp END) as cs, 
     (CASE WHEN limits = 'vl' THEN lsn ELSE lsp END) as lsp 
FROM `critical_limits` 
WHERE `limits` IN ('m', 'vl') 
+0

Vielen Dank für Ihre Antwort .. seine Arbeit mit UNION aber die zweite Abfrage (CSP und lsp) Wert geht unter (CSN und LSN) als neue Zeile ... CSN lsn 0,09 0 7,5 15,1 –

0
SELECT 
    `csn`, 
    `lsn` 
FROM 
    `critical_limits` 
WHERE 
    `limits` = 'vl' 
UNION ALL 
    SELECT 
     `csp`, 
     `lsp` 
    FROM 
     `critical_limits` 
    WHERE 
     `limits` = 'm' 

können Sie UNION verwenden, um Abfragen zu kombinieren. UNION in the MySQL manual

Sie müssen die gleiche Anzahl von Spalten in Ihrem SELECT haben und die Spalten müssen den gleichen Datentyp haben.