SQL, Feld mehrmals abfragen, IN Frage

Status
Nicht offen für weitere Antworten.

The_S

Top Contributor
Hi,

ich habe mal wieder zwei Fragen zu SQL-Statements.

1. Es mag vielleicht merkwürdig klingen und evtl. habe ich einen Denkfehler (bitte aufklären), aber funktioniert sowas

"SELECT Name FROM tbl_referent WHERE RID = 4 AND RID IN (SELECT RID FROM tbl_kurs WHERE EKAID = 3)"

? Die ID muss praktisch mit einer Konstanten übereinstimmen, und sie muss sich auch in einem Subselect befinden.

2. Kann ich in einem subselect zwei Werte in Form einer Liste zurückbekommen und dann mit IN nur auf einen überprüfen? Also z. B.

"SELECT Date FROM tbl_kurs WHERE KID IN (SELECT KID, COUNT(RID) as "anzahl" WHERE anzahl = 5 GROUP BY KID"

Leider kann ich beide Statements momentan (mal wieder) nicht testen. Da ich sowas aber häufig benötige, wäre es sinnvoll zu wissen, ob die Beiden funktionieren oder nicht.

Danke!
 

KSG9|sebastian

Top Contributor
1. funktioniert
2. geht nicht, da du mit IN ne Liste überprüfst welche nur Werte enthält, jedoch keine Spalten.

Ne Liste enthält ja nur Werte, z.B. SELECT .. FROM .. WHERE id in(1, 2, 4, 5)
Die Werte sind aber "spaltenunabhängig". Das was du brauchst wäre quasi ne 2dimensionale Liste. Das kannst du aber mit nem weiteren Subselect auch lösen.
 

Slava

Bekanntes Mitglied
<<
"SELECT Name FROM tbl_referent WHERE RID = 4 AND RID IN (SELECT RID FROM tbl_kurs WHERE EKAID = 3)"
>>
bei dieser bedingung macht AND kein Sinn
versuch mal mit "OR"
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S sonderzeichen mit regex abfragen Softwareentwicklung 2

Ähnliche Java Themen

Neue Themen


Oben