第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在查詢中混合ANSI 1992 JOIN和COMMA

在查詢中混合ANSI 1992 JOIN和COMMA

呼喚遠(yuǎn)方 2019-10-12 13:44:08
我正在嘗試以下MySQL查詢來獲取一些數(shù)據(jù):SELECT m.*, t.*FROM memebers as m, telephone as tINNER JOIN memeberFunctions as mf ON m.id = mf.memeberINNER JOIN mitgliedTelephone as mt ON m.id = mt.memeberWHERE mf.function = 32但是我總是得到以下錯(cuò)誤:#1054 - Unknown column 'm.id' in 'on clause'該列確實(shí)存在,并且查詢僅適用于一個(gè)表(例如,當(dāng)我卸下電話時(shí))有人知道我做錯(cuò)了嗎?
查看完整描述

2 回答

?
函數(shù)式編程

TA貢獻(xiàn)1807條經(jīng)驗(yàn) 獲得超9個(gè)贊

似乎您的要求是聯(lián)接members表,但您正在聯(lián)接telephone表。只是改變他們的順序。


SELECT 

    `m`.*,

    `t`.* 

FROM

    `memebers` AS `m` 

    JOIN `telephone` AS `t` 

    JOIN `memeberFunctions` AS `mf` 

        ON `m`.`id` = `mf`.`memeber` 

        AND `mf`.`function` = 32 

    JOIN `mitgliedTelephone` AS `mt` 

        ON `m`.`id` = `mt`.`memeber`;

希望這對您有所幫助。謝謝?。?/p>


查看完整回答
反對 回復(fù) 2019-10-12
?
慕仙森

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊

根據(jù)此鏈接,建立連接時(shí)不應(yīng)混用這兩種符號。您用于加入的逗號  memebers as m, telephone as t以及對的后續(xù)調(diào)用inner join觸發(fā)了未知列錯(cuò)誤。


要處理它,請使用CROSS/INNER/LEFT JOIN而不是逗號。


以前,逗號運(yùn)算符(,)和JOIN都具有相同的優(yōu)先級,因此將聯(lián)接表達(dá)式t1,t2 JOIN t3解釋為((t1,t2)JOIN t3)?,F(xiàn)在JOIN具有更高的優(yōu)先級,因此該表達(dá)式被解釋為(t1,(t2 JOIN t3))。此更改會(huì)影響使用ON子句的語句,因?yàn)樵撟泳渲荒芤寐?lián)接操作數(shù)中的列,并且優(yōu)先級的更改會(huì)更改對這些操作數(shù)的解釋。


出于教學(xué)目的,我想添加查詢,因?yàn)樗鼞?yīng)該是:


SELECT m.*, t.*

FROM memebers as m 

    JOIN telephone as t

    JOIN memeberFunctions as mf ON m.id = mf.memeber AND mf.function = 32

    JOIN mitgliedTelephone as mt ON m.id = mt.memeber

由于您尚未加入t和m,因此最終結(jié)果將是笛卡爾乘積;您可能希望對其進(jìn)行修改。


希望對您有所幫助。


查看完整回答
反對 回復(fù) 2019-10-12
  • 2 回答
  • 0 關(guān)注
  • 581 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號