sql >> Database teknologi >  >> Database Tools >> SSMS

Udfør joinforbindelse på tilknyttede forespørgsler

din nuværende metode er ikke særlig effektiv. Andre vil normalt bruge CASE WHEN at gøre det.

SELECT   t.uniqueID,
         IN_Info1 = MAX(case when t.type = 'IN' then t.information1 end),
         IN_Info2 = MAX(case when t.type = 'IN' then t.information2 end),
         IN_Notes = MAX(case when t.type = 'IN' then t.Notes end),
         OUT_Info1 = MAX(case when t.type = 'OUT' then t.information1 end),
         OUT_Info2 = MAX(case when t.type = 'OUT' then t.information2 end),
         OUT_Notes = MAX(case when t.type = 'OUT' then t.Notes end)
FROM     TABLEB t
GROUP BY t.uniqueID
 

og derefter for at inkorporere i din store forespørgsel, kan du enten bruge CTE eller DERIVED TABLE

-- CTE ; with Tblb as ( SELECT t.uniqueID, IN_Info1 = MAX(case when t.type = 'IN' then t.information1 end), IN_Info2 = MAX(case when t.type = 'IN' then t.information2 end), IN_Notes = MAX(case when t.type = 'IN' then t.Notes end), OUT_Info1 = MAX(case when t.type = 'OUT' then t.information1 end), OUT_Info2 = MAX(case when t.type = 'OUT' then t.information2 end), OUT_Notes = MAX(case when t.type = 'OUT' then t.Notes end) FROM TABLEB t GROUP BY t.uniqueID ) select * from TableA a inner join Tblb b ON a.uniqueID = b.uniqueID

Du kan ikke gøre dette X1.t1.uniqueID. , bør det kun være X1.uniqueID




  1. MySQL - Hvorfor er phpMyAdmin ekstremt langsom med denne forespørgsel, der er superhurtig i php/mysqli?

  2. Localhost/phpmyadmin/ returnerer php-kode

  3. Er det muligt at rette en fremmednøgle i Yii uden at have sat den op i databasen?

  4. kan ikke logge ind på phpmyadmin fejl #1862 - Dit kodeord er udløbet