2012-04-13 5 views
-1

Probe:Wie schreibe ich eine SQL-Anweisung für die Konfrontation von 2 Feldern in Access?

ID firstname lastname 
1 jerry  cai 

ich einen String „jerrycai“ bekommen, muss ich von diesen zwei Feldern einmal auswählen und kombinieren sie mit dem „jerrycai“ dann vergleichen.

Nur eine Vermutung, dass die folgenden funktionieren könnte:

select * from user where firstname+lastname='jerrycai' 

Gibt es eine Methode, um diese in SQL der Umsetzung? DB: Zugriff

+4

Ja, Sie haben die richtige Idee. Was für die Verkettung verwendet wird, hängt von Ihrem RDBMS ab. SQL Server verwendet '+', Oracle '||', MySQL 'CONCAT (a, b)' –

+0

Probieren Sie es mit dem entsprechenden Verkettungsoperator aus - es wird funktionieren, wie Sie es erraten haben. –

+3

Verwenden Sie & für die Verkettung in MsAccess. –

Antwort

1

Warum verketten, wenn Sie dies tun können:

select * 
    from user 
where firstname = 'jerry' 
     AND lastname = 'cai'; 

Aber wenn es sein muss:

select * 
    from user 
where firstname & lastname = 'jerrycai'; 
+1

Das OP sagt, er hat eine Zeichenfolge "jerrycai" übergeben, so dass es auf diese Weise würde es erforderlich, es an der richtigen Stelle zu teilen, die nie funktionieren wird. Es wirft die Frage auf, warum das OP nicht 2 Strings obwohl ... – Ben

+0

übergeben wird & ist für MS-Zugang – JerryCai

+0

@JerryCai: Es hängt ab, was Sie "richtig" meinen. In Standard-SQL wird 'NULL +' Cai '' zu UNBEKANNT ausgewertet (für das 'NULL' ein Synonym ist). In Access SQL wird 'NULL + 'Cai'' zu' NULL' ausgewertet, also ist '+' 'richtig'. – onedaywhen

Verwandte Themen