0

私は持っている

SELECT
servisler.geo_location,
servisler.ADRES_MERKEZ,
servisler.ADRES_ILCE,
servisler.ADRES_IL,
servisler.FIRMA_UNVANI,
servisler.ADRES_ISTEL,
servisler.YETKILI_ADISOYADI,
urun_gruplari.GRUP_ADI
FROM
servisler
INNER JOIN urun_gruplari ON kullanici_cihaz.URUN_GRUP_NO= urun_gruplari.RECNO
INNER JOIN kullanici ON kullanici.SERVIS_RECNO = servisler.RECNO
INNER JOIN kullanici_cihaz ON kullanici.RECNO = kullanici_cihaz.KUL_RECNO AND kullanici_cihaz.URUN_GRUP_NO = urun_gruplari.RECNO
where kullanici.kullanici = 'MAR.EDI.003'

しかし、それは言います

[Err] 1054 - Unknown column 'kullanici_cihaz.URUN_GRUP_NO' in 'on clause'

列は終了しますが。その問題は何ですか?

スキーマ
サーバーのバージョン: 5.1.33-community-log

4

2 に答える 2

2

kullanici.SERVIS_RECNOテーブルを結合するときに が存在しないため: servislerurun_gruplarikullanici結合する前にまずテーブルに結合してくださいurun_gruplari

SELECT    servisler.geo_location,
          servisler.ADRES_MERKEZ,
          servisler.ADRES_ILCE,
          servisler.ADRES_IL,
          servisler.FIRMA_UNVANI,
          servisler.ADRES_ISTEL,
          servisler.YETKILI_ADISOYADI,
          urun_gruplari.GRUP_ADI
FROM   servisler
          INNER JOIN kullanici 
               ON kullanici.SERVIS_RECNO = servisler.RECNO
          INNER JOIN urun_gruplari 
               ON kullanici_cihaz.URUN_GRUP_NO= urun_gruplari.RECNO
          INNER JOIN kullanici_cihaz
               ON kullanici.RECNO = kullanici_cihaz.KUL_RECNO AND 
                  kullanici_cihaz.URUN_GRUP_NO = urun_gruplari.RECNO
where kullanici.kullanici = 'MAR.EDI.003'
于 2012-08-28T09:29:10.000 に答える
2

これは、句でkullanici_cihazテーブルを使用しているためであり、このテーブルがリンクされる前にあるためだと思います。ON

あなたのを再配置してみてくださいINNER JOIN

SELECT
   servisler.geo_location,
   servisler.ADRES_MERKEZ,
   servisler.ADRES_ILCE,
   servisler.ADRES_IL,
   servisler.FIRMA_UNVANI,
   servisler.ADRES_ISTEL,
   servisler.YETKILI_ADISOYADI,
   urun_gruplari.GRUP_ADI
FROM
   servisler
INNER JOIN kullanici ON kullanici.SERVIS_RECNO = servisler.RECNO
INNER JOIN kullanici_cihaz ON kullanici.RECNO = kullanici_cihaz.KUL_RECNO 
INNER JOIN urun_gruplari ON kullanici_cihaz.URUN_GRUP_NO= urun_gruplari.RECNO
WHERE 
   kullanici.kullanici = 'MAR.EDI.003'

編集

「ループ内部結合」もいくつかありますが、削除しました:

INNER JOIN urun_gruplari ON kullanici_cihaz.URUN_GRUP_NO= urun_gruplari.RECNO
INNER JOIN kullanici_cihaz ON kullanici.RECNO = kullanici_cihaz.KUL_RECNO AND kullanici_cihaz.URUN_GRUP_NO = urun_gruplari.RECNO
于 2012-08-28T09:29:31.337 に答える