|
Hi,over
So.I have what is, for me anyway, a fairly complex SQL select statement
a set of MySQL tables which uses RIGHT and LEFT JOINS to search about 18records
tables.
The Select works in general.except for one thing. I'm getting NULL
and I don't want them. Jthe
In the MySQL tables, I have created a common key that exists in all of the
tables named CaseID.
I am using a RIGHT and LEFT JOIN to get the data from these files.
Some of the tables in my JOIN(s) do not have records in them that match
selection criteria while others do have matching data.match
If I run my SQL statement outside of PHP, say within the MySQL Admin page
(if you're using WAMP for example).the records are returned, but I see the
null records from the tables that do not have any records in them that
the selection criteria.because
When I run this same SELECT in PHP, and I try to access the value of the
common field CaseID, I'm getting a null in that field value because I'm
getting the last record the SELECT returned, which is a NULL record
there wasn't any matching record in that particular table so that commondoes
field name is blank/null.
What I really want to do is to be able to run my SQL statement and NOT
return NULL (empty) records.
That is.if I have 3 tables, and the first table and the third table each
have a record that matches my selection criteria, but the second table
not, I only want to return the data from the first and the last table.that
I know I could give unique names to the field CaseID (and any other fields
that are the same in multiple tables) but I'm hoping to not have to do
since I'd have to make changes in a lot of places to implement thatprobably
solution. I'd rather just avoid returning NULL records if I can.
I have included the actual SQL statement here, in its entirety, but
if you know how to do what I'm looking to do, you don't need to see my SQLxcitationmethods
anyway. However, having it here will help someone else later on when they
search the archives for a similar solution.
Thanks in advance for all suggestions!
Shannon O'Donnell
$query = "SELECT * FROM xcitations
LEFT JOIN xcitationbonds ON
xcitations.XmittalBatchnum=xcitationbonds.XmittalBatchNum
AND
xcitations.CaseID = xcitationbonds.CaseID
AND
xcitations.CitationID = xcitationbonds.CitationID
LEFT JOIN
xcitationaccidenttypes ON
xcitations.XmittalBatchnum=xcitationaccidenttypes.XmittalBatchNum
AND
xcitations.CaseID = xcitationaccidenttypes.CaseID
AND
xcitations.CitationID = xcitationaccidenttypes.CitationID
LEFT JOIN
xcitationinvolveds ON
xcitations.XmittalBatchnum=xcitationinvolveds.XmittalBatchNum
AND
xcitations.CaseID = xcitationinvolveds.CaseID
AND
xcitations.CitationID = xcitationinvolveds.CitationID
LEFT JOIN
ONON
xcitations.XmittalBatchnum=xcitationmethods.XmittalBatchNum
AND
xcitations.CaseID = xcitationmethods.CaseID
AND
xcitations.CitationID = xcitationmethods.CitationID
LEFT JOIN
xcitationroadconditions ON
xcitations.XmittalBatchnum=xcitationroadconditions.XmittalBatchNum
AND
xcitations.CaseID = xcitationroadconditions.CaseID
AND
xcitations.CitationID = xcitationroadconditions.CitationID
LEFT JOIN
xcitationvehicles ON
xcitations.XmittalBatchnum=xcitationvehicles.XmittalBatchNum
AND
xcitations.CaseID = xcitationvehicles.CaseID
AND
xcitations.CitationID = xcitationvehicles.CitationID
LEFT JOIN
xcitationviolations ON
xcitations.XmittalBatchnum=xcitationviolations.XmittalBatchNum
AND
xcitations.CaseID = xcitationviolations.CaseID
AND
xcitations.CitationID = xcitationviolations.CitationID
LEFT JOIN
xcitationvisibility ON
xcitations.XmittalBatchnum=xcitationvisibility.XmittalBatchNum
AND
xcitations.CaseID = xcitationvisibility.CaseID
AND
xcitations.CitationID = xcitationvisibility.CitationID
LEFT JOIN xcitationwitnesses ON
xcitations.XmittalBatchnum=xcitationwitnesses.XmittalBatchNum
AND
xcitations.CaseID = xcitationwitnesses.CaseID
AND
xcitations.CitationID = xcitationwitnesses.CitationID
LEFT JOIN xoverweight
xoverweightcommchks.XOverweightCommChkCommChkID
xcitations.XmittalBatchnum=xoverweight.XmittalBatchNum
AND
xcitations.CaseID = xoverweight.CaseID
AND
xcitations.CitationID = xoverweight.CitationID
LEFT JOIN
xoverweightaxles ON
xcitations.XmittalBatchnum=xoverweightaxles.XmittalBatchNum
AND xcitations.CaseID = xoverweightaxles.CaseID
AND xcitations.CitationID = xoverweightaxles.XOverWeightAxlesAxleID
LEFT JOIN
xoverweightcommchks ON
xcitations.XmittalBatchnum=xoverweightcommchks.XmittalBatchNum
AND xcitations.CaseID = xoverweightcommchks.CaseID
AND xcitations.CitationID =
xcitationbonds
LEFT JOIN
xoverweightcreditcards ON
xcitations.XmittalBatchnum=xoverweightcreditcards.XmittalBatchNum
AND xcitations.CaseID = xoverweightcreditcards.CaseID
AND xcitations.CitationID =
xoverweightcreditcards.XOverweightCreditcardsCreditCardID
LEFT JOIN
xoverweightinvolveds ON
xcitations.XmittalBatchnum=xoverweightinvolveds.XmittalBatchNum
AND xcitations.CaseID = xoverweightinvolveds.CaseID
AND xcitations.CitationID =
xoverweightinvolveds.XOverweightInvolvedsInvolvedID
LEFT JOIN
xoverweightscales ON
xcitations.XmittalBatchnum=xoverweightscales.XmittalBatchNum
AND xcitations.CaseID = xoverweightscales.CaseID
AND xcitations.CitationID = xoverweightscales.XOverweightScalesScaleID
LEFT JOIN
xoverweightviolations ON
xcitations.XmittalBatchnum=xoverweightviolations.XmittalBatchNum
AND xcitations.CaseID = xoverweightviolations.CaseID
AND xcitations.CitationID =
xoverweightviolations.XOverweightViolationsViolationID
WHERE xcitations.XmittalBatchNum
='".$sBatchNumber."' AND xcitations.XProcessed != 'U' UNION
SELECT * FROM xcitations
RIGHT JOIN
ONxcitationmethods
xcitations.XmittalBatchnum=xcitationbonds.XmittalBatchNum
AND
xcitations.CaseID = xcitationbonds.CaseID
AND
xcitations.CitationID = xcitationbonds.CitationID
RIGHT JOIN
xcitationaccidenttypes ON
xcitations.XmittalBatchnum=xcitationaccidenttypes.XmittalBatchNum
AND
xcitations.CaseID = xcitationaccidenttypes.CaseID
AND
xcitations.CitationID = xcitationaccidenttypes.CitationID
RIGHT JOIN
xcitationinvolveds ON
xcitations.XmittalBatchnum=xcitationinvolveds.XmittalBatchNum
AND
xcitations.CaseID = xcitationinvolveds.CaseID
AND
xcitations.CitationID = xcitationinvolveds.CitationID
RIGHT JOIN
ONxcitationvehicles
xcitations.XmittalBatchnum=xcitationmethods.XmittalBatchNum
AND
xcitations.CaseID = xcitationmethods.CaseID
AND
xcitations.CitationID = xcitationmethods.CitationID
RIGHT JOIN
xcitationroadconditions ON
xcitations.XmittalBatchnum=xcitationroadconditions.XmittalBatchNum
AND
xcitations.CaseID = xcitationroadconditions.CaseID
AND
xcitations.CitationID = xcitationroadconditions.CitationID
RIGHT JOIN
ONxoverweightaxles
xcitations.XmittalBatchnum=xcitationvehicles.XmittalBatchNum
AND
xcitations.CaseID = xcitationvehicles.CaseID
AND
xcitations.CitationID = xcitationvehicles.CitationID
RIGHT JOIN
xcitationviolations ON
xcitations.XmittalBatchnum=xcitationviolations.XmittalBatchNum
AND
xcitations.CaseID = xcitationviolations.CaseID
AND
xcitations.CitationID = xcitationviolations.CitationID
RIGHT JOIN
xcitationvisibility ON
xcitations.XmittalBatchnum=xcitationvisibility.XmittalBatchNum
AND
xcitations.CaseID = xcitationvisibility.CaseID
AND
xcitations.CitationID = xcitationvisibility.CitationID
RIGHT JOIN xcitationwitnesses ON
xcitations.XmittalBatchnum=xcitationwitnesses.XmittalBatchNum
AND
xcitations.CaseID = xcitationwitnesses.CaseID
AND
xcitations.CitationID = xcitationwitnesses.CitationID
RIGHT JOIN
ONxoverweightcommchks.XOverweightCommChkCommChkID
xcitations.XmittalBatchnum=xoverweightaxles.XmittalBatchNum
AND xcitations.CaseID = xoverweightaxles.CaseID
AND xcitations.CitationID = xoverweightaxles.XOverWeightAxlesAxleID
RIGHT JOIN
xoverweightcommchks ON
xcitations.XmittalBatchnum=xoverweightcommchks.XmittalBatchNum
AND xcitations.CaseID = xoverweightcommchks.CaseID
AND xcitations.CitationID =
RIGHT JOIN
xoverweightcreditcards ON
xcitations.XmittalBatchnum=xoverweightcreditcards.XmittalBatchNum
AND xcitations.CaseID = xoverweightcreditcards.CaseID
AND xcitations.CitationID =
xoverweightcreditcards.XOverweightCreditcardsCreditCardID
RIGHT JOIN
xoverweightinvolveds ON
xcitations.XmittalBatchnum=xoverweightinvolveds.XmittalBatchNum
AND xcitations.CaseID = xoverweightinvolveds.CaseID
AND xcitations.CitationID =
xoverweightinvolveds.XOverweightInvolvedsInvolvedID
RIGHT JOIN
xoverweightscales ON
xcitations.XmittalBatchnum=xoverweightscales.XmittalBatchNum
AND xcitations.CaseID = xoverweightscales.CaseID
AND xcitations.CitationID = xoverweightscales.XOverweightScalesScaleID
RIGHT JOIN
xoverweightviolations ON
xcitations.XmittalBatchnum=xoverweightviolations.XmittalBatchNum
AND xcitations.CaseID = xoverweightviolations.CaseID
AND xcitations.CitationID =
xoverweightviolations.XOverweightViolationsViolationID
WHERE xcitations.XmittalBatchNum ='".$sBatchNumber."' AND
xcitations.XProcessed != 'U' " ;
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.