[SQL] Query omzetten voor MySQL

Pagina: 1
Acties:

  • Tommel
  • Registratie: November 2000
  • Niet online
Ik heb de volgende query:
code:
1
2
3
4
5
6
7
8
9
10
11
SELECT * FROM BEDRIJVEN 
WHERE Actief = 1 
AND RegioId = 3 
AND LandId = 1 
AND Opdracht LIKE '%test%' 
AND ( LocatieId = 16 OR LocatieId = 17 OR LocatieId = 18) AND BedrijfId IN 
(SELECT BEDRIJF_BRANCHE.BedrijfId 
FROM BEDRIJF_BRANCHE 
WHERE BEDRIJF_BRANCHE.BrancheId = 1 
OR BEDRIJF_BRANCHE.BrancheId = 3 
OR BEDRIJF_BRANCHE.BrancheId = 4)

Deze query werkt goed met een access db, maar nu wil ik hem ook met MySQL laten werken en moet het dus een JOIN query worden dacht ik. Wie weet hoe de query er dan uit komt te zien want ik kom er niet uit.
De LocatieId's en BrancheId's zijn variabel dus het kunnen er meer worden maar ook minder worden.
Ik vul de query zelf aan in de .ASP pagina.

Alvast bedankt !

  • angl2k
  • Registratie: Maart 2001
  • Laatst online: 29-04 10:53
tis toch standaard SQL dus het zou moeten werken in MySQL :?

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Op woensdag 10 oktober 2001 11:08 schreef angl2k het volgende:
tis toch standaard SQL dus het zou moeten werken in MySQL :?
subselects zijn niet tof in MySQL

  • Tommel
  • Registratie: November 2000
  • Niet online
Wat zou ik eraan moeten veranderen zodat subselects wel in MySQL werken want kom er zelf niet echt uit !

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Op woensdag 10 oktober 2001 11:15 schreef Tommel het volgende:
Wat zou ik eraan moeten veranderen zodat subselects wel in MySQL werken want kom er zelf niet echt uit !
Dat krijg je niet, je moet je query aanpassen.

  • Tommel
  • Registratie: November 2000
  • Niet online
Ja dat bedoel ik maar hoe maak ik er een join query van ?

  • ruthger
  • Registratie: September 2000
  • Laatst online: 22-11-2024
Werkt query deze misschien??

SELECT * FROM BEDRIJVEN A,
BEDRIJF_BRANCHE B
WHERE A.Actief = 1
AND A.RegioId = 3
AND A.Opdracht LIKE '%test%'
AND (A.LocatieId = 16
OR A.LocatieId = 17
OR A.LocatieID = 18)
AND A.BedrijfId = B.BedrijfId
AND (B.BrancheId = 1
OR B.BrancheId = 3
OR B.BrancheId = 4)

Veni, vidi et cervesiam


  • Tommel
  • Registratie: November 2000
  • Niet online
Dat werkt bedankt he ! :)

Verwijderd

Op woensdag 10 oktober 2001 11:24 schreef Ruthger het volgende:
Werkt query deze misschien??

SELECT * FROM BEDRIJVEN A,
BEDRIJF_BRANCHE B
WHERE A.Actief = 1
AND A.RegioId = 3
AND A.Opdracht LIKE '%test%'
AND (A.LocatieId = 16
OR A.LocatieId = 17
OR A.LocatieID = 18)
AND A.BedrijfId = B.BedrijfId
AND (B.BrancheId = 1
OR B.BrancheId = 3
OR B.BrancheId = 4)
Nog beter:
code:
1
2
3
4
5
6
7
8
SELECT * 
FROM BEDRIJVEN A JOIN BEDRIJF_BRANCHE B ON A.BedrijfId = B.BedrijfId
WHERE 
  A.Actief  = 1
  AND A.RegioId = 3
  AND A.Opdracht LIKE '%test%'
  AND A.LocatieId IN (16, 17, 18)
  AND B.BrancheId IN (1, 3, 4)

Enjoy :)

  • Tommel
  • Registratie: November 2000
  • Niet online
Nog beter:
code:
1
2
3
4
5
6
7
8
SELECT * 
FROM BEDRIJVEN A JOIN BEDRIJF_BRANCHE B ON A.BedrijfId = B.BedrijfId
WHERE 
  A.Actief  = 1
  AND A.RegioId = 3
  AND A.Opdracht LIKE '%test%'
  AND A.LocatieId IN (16, 17, 18)
  AND B.BrancheId IN (1, 3, 4)

Enjoy :)
Ik was iets te snel in mijn vorige reactie, deze werkt wel helemaal goed alleen INNER ontbrak bij JOIN. :)

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op woensdag 10 oktober 2001 11:15 schreef Tommel het volgende:
Wat zou ik eraan moeten veranderen zodat subselects wel in MySQL werken want kom er zelf niet echt uit !
Als je 'een andere database' moet gebruiken, maar niet noodzakelijkerwijs MySQL, kijk dan ook naar PostgreSQL, SAPDB en de freeware versie van InterBase (hoe heette die ook alweer?) die kennen wel subselects (en vele andere nuttige dingen die MySQL soms nog niet eens na het toevoegen van InnoDB heeft).
Pagina: 1