/ / SQL Alles auswählen Wo die Concat eindeutig ist - mysql, select, distinct, concat

SQL Select All Wo das Concat eindeutig ist - mysql, select, distinct, concat

Ich suche eine auserlesene Aussage wo ichWählen Sie alle Spalten und Zeilen aus, wenn die Verkettung von zwei Zeilen eindeutig ist. Ich habe meine SQL-Anweisung unten. Ich bin mir jedoch nicht sicher, wie ich diese Aussage richtig erstellen soll, wie würde diese Aussage geschrieben werden?

$query = "SELECT * FROM APPROVED
WHERE DISTINCT CONCAT(P_NUMBER,"-",A_NUMBER) AS CNUMBER
AND (STATUS = "ACTIVE" OR STATUS = "CLOSED" OR STATUS = "CLOSING" OR STATUS = "PENDING")";

Antworten:

0 für die Antwort № 1

DISTINCT wird bei der Spaltenauswahl verwendet. Es gibt mehrere Möglichkeiten, dies zu tun:

SELECT DISTINCT CONCAT(P_NUMBER,"-",A_NUMBER) AS CNUMBER FROM APPROVED WHERE
AND (STATUS = "ACTIVE" OR STATUS = "CLOSED" OR STATUS = "CLOSING" OR STATUS =     "PENDING")

das sollte fast dasselbe machen wie

SELECT * FROM APPROVED WHERE
AND (STATUS = "ACTIVE" OR STATUS = "CLOSED" OR STATUS = "CLOSING" OR STATUS =     "PENDING")
GROUP BY CONCAT(P_NUMBER,"-",A_NUMBER)

Die zweite enthält die Verkettung in den Ergebnissen nicht, und die erste enthält NUR die Verkettung. Sie müssen alle Spalten angeben, die zurückgegeben werden sollen.