Mysql 如何从标准需要与临时表匹配的表中进行选择?

Mysql 如何从标准需要与临时表匹配的表中进行选择?,mysql,select,temp-tables,Mysql,Select,Temp Tables,我有两张桌子。一个包含文章,另一个包含报价。如果两个表中的维度匹配,我将尝试从articles表中选择[EAN],并从Quotence表中选择price 下面是我正在玩的示例: DROP TEMPORARY TABLE IF EXISTS haha; CREATE TEMPORARY TABLE haha ( tmp_kto VARCHAR(7) DEFAULT '' , tmp_kz VARCHAR(3) DEFAULT '' , tmp_preisliste VARC

我有两张桌子。一个包含文章,另一个包含报价。如果两个表中的维度匹配,我将尝试从articles表中选择
[EAN]
,并从Quotence表中选择
price

下面是我正在玩的示例:

DROP TEMPORARY TABLE IF EXISTS haha;
CREATE TEMPORARY TABLE haha (
    tmp_kto VARCHAR(7) DEFAULT ''
    , tmp_kz VARCHAR(3) DEFAULT ''
    , tmp_preisliste VARCHAR(1) DEFAULT ''
    , tmp_eg VARCHAR(3) DEFAULT ''
    , tmp_length VARCHAR(3) DEFAULT ''
    , tmp_width VARCHAR(3) DEFAULT ''
    , tmp_price DECIMAL(10,2) DEFAULT 0.00
    ) ENGINE=MEMORY;

INSERT INTO haha (
    tmp_kz, tmp_kto, tmp_preisliste, tmp_eg, tmp_length, tmp_width, tmp_price
    ) VALUES (
    "000","4316134","I","520","150","200","14.95"
    );
INSERT INTO haha (
    tmp_kz, tmp_kto, tmp_preisliste, tmp_eg, tmp_length, tmp_width, tmp_price
    ) VALUES (
    "001","112233","L","520","150","200","17.95"
    );
匹配标准应为
[EG]
[size]
。对于
大小
我需要将相关大小从字段中删除(我认为没有其他方法-格式是例如050x250cm)

这是行不通的

问题:
我需要改变什么才能让它工作

编辑
第二张表如下所示:

CREATE TABLE `articles` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `ean` VARCHAR(35) NULL DEFAULT NULL,
    `size` VARCHAR(35) NULL DEFAULT NULL,
    `eg` VARCHAR(35) NULL DEFAULT NULL,
PRIMARY KEY (`id`),
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB
AUTO_INCREMENT=1;

INSERT INTO articles (
    ean, size, eg
    ) VALUES (
    "1111111111111","150x200cm","520"
    );

INSERT INTO articles (
    ean, size, eg
    ) VALUES (
    "2222222222222","150x220cm","520"
    );

谢谢你的帮助

你为什么不这样简单地使用呢

SELECT a.ean, h.tmp_price AS preis 
FROM articles AS a
LEFT JOIN haha AS h
    ON h.tmp_eg = a.eg
WHERE h.tmp_kz = "000"
    AND h.tmp_kto = "0000000"
    AND h.tmp_preisliste = "I"
    AND h.tmp_length = SUBSTRING(a.size,1,3)
    AND h.tmp_width = SUBSTRING(a.size,4,3)

你为什么不这样简单地使用呢

SELECT a.ean, h.tmp_price AS preis 
FROM articles AS a
LEFT JOIN haha AS h
    ON h.tmp_eg = a.eg
WHERE h.tmp_kz = "000"
    AND h.tmp_kto = "0000000"
    AND h.tmp_preisliste = "I"
    AND h.tmp_length = SUBSTRING(a.size,1,3)
    AND h.tmp_width = SUBSTRING(a.size,4,3)
比想象的容易:

    SELECT a.ean AS ean,
           h.tmp_price AS preis
    FROM articles AS a
    LEFT JOIN haha AS h
    ON h.tmp_eg = a.eg

    WHERE a.iln = "some_id"
    AND h.tmp_kz = "000"
    AND h.tmp_kto = "0000000"
    AND h.tmp_preisliste = "I"
    AND h.tmp_length = SUBSTRING(a.groesse,1,3)
    AND h.tmp_width = SUBSTRING(a.groesse,5,3)
比想象的容易:

    SELECT a.ean AS ean,
           h.tmp_price AS preis
    FROM articles AS a
    LEFT JOIN haha AS h
    ON h.tmp_eg = a.eg

    WHERE a.iln = "some_id"
    AND h.tmp_kz = "000"
    AND h.tmp_kto = "0000000"
    AND h.tmp_preisliste = "I"
    AND h.tmp_length = SUBSTRING(a.groesse,1,3)
    AND h.tmp_width = SUBSTRING(a.groesse,5,3)

唉,一个逗号不见了。。。让我们看看是否有帮助这里有第二张表?我发布了一些记录。1分钟明白了。下面的帖子。唉,一个逗号不见了。。。让我们看看是否有帮助这里有第二张表?我发布了一些记录。1分钟明白了。下面的帖子。:-D和我想到的一样。谢谢-我和我想到的一样。谢谢