2017-04-03 1 views
1

Wie kann ich nur die property_id aus dieser Abfrage auswählen?Auswahl nur einer Spalte bei Verwendung von distinct

select distinct(property_name), property_id from prop where property_name 
like '%blah%'; 

ich neue Zeilen in die Tabelle app_prop mit dem property_id genau wie die Abfrage oben einfügen versuche, so etwas ähnliches zu diesem:

INSERT INTO app_prop (function, PROPERTY_ID) 
VALUES('dataq', select distinct(property_name), property_id from prop 
where property_name like '%blah%'); 
-- only want property_id included NOT property_name -- 
+1

'distinct' ist ** nicht ** eine Funktion. –

+0

Bearbeiten Sie Ihre Frage und geben Sie Beispieldaten und gewünschte Ergebnisse an. –

Antwort

2

Wenn Sie nur die property_id möchten, dann wählen Sie nur Das.

Auch: Wenn Sie eine select-Anweisung als Quelle für eine insert-Anweisung verwenden, verwenden Sie nicht die values-Klausel.

nur um unterschiedliche Werte für property_id legen Sie diese verwenden können:

INSERT INTO app_prop (function, PROPERTY_ID) 
select distinct 'dataq', property_id 
from prop 
where property_name like '%blah%' 
+0

aber ich brauche distinct 'property_name', weil es mehrere doppelte Zeilen gibt und jede Zeile eine eindeutige property_id hat. – robben

+0

Oh, ich habe gerade Ihren Kommentar darüber gesehen, wie ausgeprägt keine Funktion ist. Kein Wunder, dass es keine Funktion ist. Vielen Dank! – robben

+0

@robben: Die Abfrage ** fügt ** nur eindeutige Werte für 'property_id' ein. Es ist nicht notwendig, 'property_name' in die Auswahlliste aufzunehmen, wenn Sie nur an' property_id' interessiert sind. –

Verwandte Themen