2016-09-19 2 views
0

Ich versuche, eine Tabelle in meiner Datenbank abzufragen, um ein Dropdown-Feld in einem Formular zu füllen. Ich möchte Field1 als Anzeige und Field2 als Wert auf meiner einfügen.SQL-Abfrage zum Auffüllen des Dropdown-Felds

select '[CategoryName]','[CatID]' from BND_ListingCategories 

Die obige Abfrage füllt nur [CategoryName] als alle Werte in der Dropdownliste.

Jetzt bin ich sicher, was ich falsch mache.


UPDATE:

Hey Jungs, Also ich denke, ich verstehe, warum meine Frage nicht funktioniert ich brauchte eine Erklärung hinzuzufügen schließen, wie das (Kategorie) Feld auf einem anderen Tisch ist.

Trotzdem bekomme ich jetzt mit dieser aktualisierten Abfrage einen Fehler Fehler: Mehrdeutige Spalte Name 'CatID'.

select [CategoryName],[CatID] from BND_ListingCategories 
inner join BND_Listing 
on BND_ListingCategories.CatID=BND_Listing.CatID 
where LID=1 

UPDATE 2

Okay, so zog ich mache Fortschritte für Dummies die handliche ol SQL aus.

Mein mehrdeutiges Problem wurde behoben, indem meine Abfrage als solche bearbeitet wurde.

select c.CategoryName, l.CatID 
from BND_ListingCategories AS c INNER JOIN BND_Listing as l 
on c.CatID = l.CatID 

Verstanden versucht, Arbeit zu sehen, wie ich von Kategorie alphabetisch sortiert werden kann

+0

Welche Sprache verwenden Sie? C#/ASP.NET, PHP, noch etwas? Vielleicht möchten Sie diesen Code auch teilen. – zedfoxus

+0

es ist die DNN-Plattform, die ich in C# geschrieben glaube, aber ich verwende ein Plug-in für die Formulare. Ich bin nicht sicher, in was es kodiert wird, aber ich würde C# auch – UserSN

Antwort

3

die einzelne Zitate aus Spaltennamen entfernen.

select [CategoryName],[CatID] from BND_ListingCategories 

Wenn Sie mit dem Kategorienamen sortieren möchten, verwenden Sie ORDER BY.

select c.CategoryName, l.CatID 
    from BND_ListingCategories as c 
     INNER JOIN BND_Listing as l 
      on c.CatID = l.CatID 
    Order by c.CategoryName 
2

Ihre Syntax ist nur ein bisschen weg von allem. Entfernen Sie die Anführungszeichen, und Sie erhalten dann Ergebnisse von Ihrer Abfrage zurück.

select [CategoryName],[CatID] from BND_ListingCategories 

Sie müssen nur die Auswahlliste ändern, um die Tabelle anzugeben, aus der die Spalte abgerufen werden soll. Sie müssen dies möglicherweise für beide Spalten in Ihrer SELECT-Anweisung tun.

Edit für neue aktualisierte Frage:

select [CategoryName], BND_Listing.[CatID] from BND_ListingCategories 
inner join BND_Listing 
on BND_ListingCategories.CatID=BND_Listing.CatID 
where LID=1 
+0

erraten Wenn ich versuche, diese Syntax zu verwenden, erhalte ich eine Fehlermeldung. Fehler beim Initialisieren des Formulars: Falsche Syntax in der Nähe des Schlüsselwortes "von". – UserSN

+0

Können Sie den gesamten mit dem Problem verknüpften Code posten? Ich habe das Gefühl, das Problem ist früher in der Kette. – Zi0n1

+0

Wählen Sie [CategoryName], BND_ListingCategories.[CatID] von BND_ListingCategories Exklusionsverknüpfung BND_Listing auf BND_ListingCategories.CatID = BND_Listing.CatID wo LID = 1 – Zi0n1

0
select distinct c.CategoryName, l.CatID 
from BND_ListingCategories AS c INNER JOIN BND_Listing as l 
on c.CatID = l.CatID 
ORDER BY CategoryName ASC 

Dies habe meine Drop-Down-Arbeit. Danke für all eure Hilfe Jungs. Ich habe an den richtigen Stellen gesucht!

Verwandte Themen