Joinad sql fråga med null problem

Databaser & SQL

3 svar · 298 visningar · startad av Bjuris

Medlem sedan juli 2001514 inlägg
Trådstart#1

Jag har en sql fråga enl. följande:

SELECT
	Customer.idCustomer, 
	Customer.CustomerName,
	OfficeLocation.idOffice,
	OfficeLocation.Address, 
	OfficeLocation.Postal, 
	OfficeLocation.City, 
	OfficeLocation.Country,
	Contact.idOfficeLocation,
	Contact.Name, 
	Contact.Role, 
	Contact.Phone, 
	Contact.Mobile, 
	Contact.Fax, 
	Contact.Email,
	Applications.1,
	Applications.2, 
	Applications.3, 
	Applications.4, 
	Applications.5
FROM 
	((Customer INNER JOIN OfficeLocation ON Customer.idCustomer = OfficeLocation.idCustomer) INNER JOIN Applications ON OfficeLocation.idOffice = Applications.idOfficeLocation) INNER JOIN Contact ON OfficeLocation.idOffice = Contact.idOfficeLocation
WHERE 
	CustomerName LIKE '"+CustName+"%'" 
ORDER by 
	CustomerName

den skall plocka ut alla kunder ur systemet, vilket fungerar bra när alla tabellerna innehåller information, men om tex Applications inte innehåller någon data för den speciella kunden så visas ingen information alls, men jag vill ju ha kundinformationen i varje fall.
Jag antar att det har något med null, men vet inte hur jag skall göra.

Någon som har någon ide?

Medlem sedan juni 200032 967 inlägg
#2

Använd LEFT JOIN istället för INNER JOIN.

Mvh

Medlem sedan juli 2001514 inlägg
#3

Tjosan det var ett snabbt svar...
På alla då?

Medlem sedan juni 200032 967 inlägg
#4

Jajjenutt. Då får du null i alla fält från de tabeller där du inte har en match.

255 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)