2017-09-30 1 views
1

Ich habe zwei Tabellen: Kunden und Bestellungen. Ich mache einen linken Join von Kunden und Bestellungen auf CustomerID Spalte, die Primärschlüssel in Kunden und Fremdschlüssel in Bestellungen ist.SQL - kann beim Verbinden von zwei Tabellen keine eindeutige Zählung durchführen

  1. Wenn ich CustomerID nach Beitritt auflisten, erhalte ich die Liste wie erwartet.
  2. Wenn ich die Nummer der CustomerID zähle, bekomme ich wieder die Anzahl der Datensätze, die ich erwarte.
  3. Wenn ich distinct count für CustomerID verwende, erhalte ich einen Fehler.

1.

select Customers.CustomerID as list 
from Customers left join Orders on Customers.CustomerID = Orders.CustomerID 
where Customers.CustomerID = 4; 

2.

select count(Customers.CustomerID) as numRecord 
from Customers left join Orders on Customers.CustomerID = Orders.CustomerID 
where Customers.CustomerID = 4; 

3.

select count(distinct (Customers.CustomerID)) as numRecord 
from Customers left join Orders on Customers.CustomerID = Orders.CustomerID 
where Customers.CustomerID = 4; 

Ich kann nicht verstehen, wo der Fehler ist. Jede Hilfe wäre willkommen. Der Fehler:

Error in SQL: 
Syntax error (missing operator) in query expression 'count(distinct Customers.CustomerID)'. 
+0

, die Sie db verwenden? – scaisEdge

+0

Ich führe gerade die Abfragen auf diesem Link: https://www.w3schools.com/sql/trysql.asp?filename=trysql_select_join_inner – prog

Antwort

1

Sie brauchen nicht die() um Customers.CustomerID in count (distinct ..)

select count(distinct Customers.CustomerID) as numRecord 
from Customers 
left join Orders on Customers.CustomerID = Orders.CustomerID 
where Customers.CustomerID = 4; 
+0

auch ohne(), gibt es einen Fehler. Ich legte(), um zu überprüfen, ob es keinen Fehler gibt – prog

+0

dann zeigen Sie die Fehlermeldung .. – scaisEdge

+0

Bitte überprüfen Sie Fehler. Die Datenbank ist von www.w3schools.com. Der Link für die Datenbank ist: https://www.w3schools.com/sql/trysql.asp?filename=trysql_select_join_inner – prog

Verwandte Themen