2016-05-10 18 views
0

Nach einigem Nachforschungen verstehe ich jetzt, dass ich mehrere Spalten aus einer Unterabfrage nicht zurückgeben kann. Was kann ich stattdessen tun?MySQL Unterabfrage mit mehreren Spalten

SELECT * FROM `users` WHERE `id` IN (SELECT `id1`, `id2` FROM `ids` WHERE `location` = 1) 

Das Ergebnis ist #1241 - Operand should contain 1 column(s)

+0

Sie liefern können richtige erstellen und Anweisungen fügen, und ein entsprechendes gewünschtes Ergebnis. – Strawberry

Antwort

1

Try this:

Select users.* 
    from users 
    join ids 
    on users.id IN(ids.id1, ids.id2) 
    and ids.location = 1; 
+0

Warum wurde das abgelehnt? –

+0

Die Verwendung der archaischen Abfragesyntax (ca. 1992) ist zu unterlassen. – Strawberry

+0

@Strawberry: Aktualisiert. Ist es jetzt in Ordnung? –

Verwandte Themen