Hallo,

Ik heb dit:

cms_accounts
-id-email-username-password-
[email protected]
[email protected]
cms_accounts_sites
-id-account-site-
-1-2-5-
-2-1-3-

en nu wil ik dit: alle email uit cms_accounts waar in cms_accounts_sites bij site "1" staat.
hoe te doen?

Mvg,
Jonathan

edit:
heb dit hiero geprobeerd:

SELECT a.email
FROM a.cms_accounts, b.cms_accounts_sites
WHERE b.site = a.id

maar krijg dan dit:

Fout

SQL-query: Documentatie

SELECT a.email
FROM a.cms_accounts, b.cms_accounts_sites
WHERE b.site = a.id
LIMIT 0 , 30

MySQL retourneerde: Documentatie
#1044 - Access denied for user 'jonathan'@'localhost' to database 'a' 

en dan floep ik in pma weg uit die db

SELECT
  cms_accounts.email
FROM
  cms_accounts,
  cms_accounts_sites
WHERE
  cms_accounts.id = cms_accounts_sites.account
AND
  cms_accounts_sites.site = 1

Niet getest...
SELECT a.email
FROM cms_accounts AS a, cms_accounts_sites AS b
WHERE a.id = b.id
AND
b.site = 1
Access denied heeft niets met de query te maken, maar alles met de toegang. Blijkbaar is het user-id of wachtwoord niet correct.

En weet je zeker dat de databasenaam 'a' wel correct is? Vind het persoonlijk een nogal rare naam, het zegt helemaal niets. Onduidelijkheid levert vroeg of laat altijd problemen op!
Je gebruikt de aliassen verkeerd. De manier van Frank is de juiste en met het gebruik van aliassen zou het dan zo zijn:

SELECT
    a.email
FROM
    cms_accounts AS a,
    cms_accounts_sites AS b
WHERE
    a.id = b.account
AND
    b.site = 1


ps. Bijna hetzelfde als van Kalle, ware het niet dat daar de join fout gaat. Het zijn niet de twee id's die aan elkaar gekoppeld moeten worden, maar juist de primary key uit de ene tabel en de foreign key uit de andere. (In dit geval dus a.id en b.account)
FRANK JE BENT GEWELDIG!!! en de anderen ook BEDANKT!!!

Reageren