SELECT * FROM tblBookings b
INNER JOIN tblPerson p ON p.pk_id = b.fk_PersonId
INNER JOIN tblExpoDisplay ed ON [u]ed.pk_id = b.fk_ExpoDisplayId[/u]
INNER JOIN tblExpo e ON e.pk_id = ed.fk_ExpoId
INNER JOIN tblDisplay d ON d.pk_id = ed.fk_DisplayId
Kan man rada upp INNER JOIN´s på det där sättet? För jag får fel om har med flera INNER JOINS men om jag bara använder en så får jag ut det jag vill ha.
Isåfall måste varje substatement inneslutas i paranteser:
SELECT * FROM ((((tblBookings b
INNER JOIN tblPerson p ON p.pk_id = b.fk_PersonId)
INNER JOIN tblExpoDisplay ed ON ed.pk_id = b.fk_ExpoDisplayId)
INNER JOIN tblExpo e ON e.pk_id = ed.fk_ExpoId)
INNER JOIN tblDisplay d ON d.pk_id = ed.fk_DisplayId)
[red]
SELECT DISTINCT p.fldCompany, b.fk_PersonId AS bid, ep.fldStatus AS status, e.fldExpoName, [b](SELECT COUNT(*) FROM ( ((tblPerson AS p INNER JOIN tblBookings AS b ON p.pk_id=b.fk_PersonId) INNER JOIN tblExpoDisplay AS ep ON b.fk_ExpoDisplayId=ep.pk_id) INNER JOIN tblExpo AS e ON ep.fk_ExpoId=e.pk_id) WHERE ep.fldStatus = 1 AND p.pk_id = b.fk_personId) AS cnt[/b]
FROM ((tblPerson AS p INNER JOIN tblBookings AS b ON p.pk_id=b.fk_PersonId) INNER JOIN tblExpoDisplay AS ep ON b.fk_ExpoDisplayId=ep.pk_id) INNER JOIN tblExpo AS e ON ep.fk_ExpoId=e.pk_id;
[/red]
det är min count som inte vill som jag vill..... nu får jag ut värdet av alla poster som har fldStatus = 1 men jag vill bara ha det antal som har fldStatus = 1 och det personId´t
SELECT DISTINCT p.fldCompany, b.fk_PersonId AS bid,
ep.fldStatus AS status, e.fldExpoName,
(SELECT COUNT(*) FROM ( ((tblPerson AS p INNER JOIN tblBookings AS b1
ON p.pk_id=b1.fk_PersonId) INNER JOIN tblExpoDisplay AS ep
ON b1.fk_ExpoDisplayId=ep.pk_id) INNER JOIN tblExpo AS e
ON ep.fk_ExpoId=e.pk_id)
WHERE ep.fldStatus = 1 AND p.pk_id = b.fk_personId) AS cnt
FROM ((tblPerson AS p INNER JOIN tblBookings AS b
ON p.pk_id=b.fk_PersonId) INNER JOIN tblExpoDisplay AS ep
ON b.fk_ExpoDisplayId=ep.pk_id) INNER JOIN tblExpo AS e
ON ep.fk_ExpoId=e.pk_id;