2011-07-26 16 views
11

Birleştirme yaparken (iç, sol dış, sağ dış veya her neyse), tablodaki hangi sütunların orijinal tabloya katılacağını nasıl belirleyebilirim?MySQL - özel sütunlar birleştirilsin mi?

SELECT FirstName FROM User LEFT OUTER JOIN Provider ON User.ProviderID = Provider.ID 

Bu kullanıcıdan FirstName seçin ama Sağlayıcısından herşeyi seçecektir:

aşağıdaki örneği ele alalım. Sağlayıcının hangi bölümlerinin sonuç kümesine dahil edilmesi gerektiğini nasıl belirleyebilirim? Bunun gibi

cevap

10

: Eğer tablolar takma, sen takma kullanabilirsiniz eğer

SELECT User.FirstName, Provider.* FROM User LEFT OUTER JOIN Provider ON User.ProviderID = Provider.ID 
+0

bu sağlayıcıdan her şeyi seçmeyecek misiniz? –

+0

istediği bu değil mi? en azından bu benim anladığım şeydir * ama her şeyi seçin Provider * –

+2

Son cümleye bakmanız gerekir :). "Sağlayıcının hangi bölümlerinin sonuç kümesine dahil edilmesi gerektiğini nasıl belirleyebilirim?" –

5
SELECT User.FirstName, Provider.ID, Provider.YourExtraColumnname, Provider.YourExtraColumnname2 FROM User LEFT OUTER JOIN Provider ON User.ProviderID = Provider.ID 
4
  SELECT `User`.FirstName, Provider.* 
      FROM `User` 
LEFT OUTER JOIN Provider 
      ON `User`.ProviderID = Provider.ID 

1. Sen sütunda önce tablo adını kullanın veya.

E.g. LEFT OUTER JOIN Provider p ve sonra böyle seçkin Maddesine sağlayıcıları id erişebilir: MySQL

için ayrılmış bir sözcüktür çünkü ben tablo adı User etrafında komutu ters tırnak eklendi

SELECT `User`.FirstName, p.ID 

2. Belirli belirtebilirsiniz

2

gibi öğeler seçmek için:

SELECT User.FirstName, Provider.ID, Provider.Name FROM User LEFT OUTER JOIN Provider ON User.ProviderID = Provider.ID