簡體   English   中英

連接多個表的MySQL查詢

[英]Mysql query of multiple tables joined

我有以下表格:

machine_machine
id    |     machineid
1     |     EE100034442

item_item
id    |     upc    |    name
2     |    10001   |   Snickers

machine_setup
id    |  machine_id   |    selection    |   item_id
3     |     1         |       A1        |     1

我試圖通過加入表來獲得以下輸出。

machine_setup.machine_id = machine_machine.machineid,machine_setup.selection,item_item.upc,item_item.name

EE100034442  A1  10001  Snickers

主引用表將使用表machine_setup,因為它對每個machine_id具有多個選擇。

我不太確定我理解這個問題,但是您想要的sql就像;

Select machine1.machineid, setup.Selection, item.upc, item.name
From Machine_machine machine1 --Set alias for the table
Inner Join machine_setup setup on setup.machine_id = machine1.id --This looks like a link table to me
Inner Join item_item item on setup.item_id = item.id -- in your example this wouldn't link as item_id is  1 in the machine_setup

在您的示例中,machine_setup item_id設置為1,這意味着它不會鏈接到item_item表。 我假設這是一個錯誤。 如果您需要更多信息,請與我們聯系。

根據目前可以加入的唯一ID,請考慮以下事項:

create table machine_machine
(   id int auto_increment primary key,
    machineid varchar(50) not null
);

create table item_item
(   id int auto_increment primary key,
    upc varchar(30) not null,
    name varchar(100) not null
);

create table machine_setup
(   id int auto_increment primary key,
    machine_id int not null,
    selection varchar(30) not null
);

insert machine_machine(machineid) values ('EE100034442');
insert item_item(upc,name) values ('10001','Snickers');
insert machine_setup(machine_id,selection) values (1,'A1'),(1,'A2'),(1,'A(n)');

select mm.machineid,ms.selection,ii.upc,ii.name 
from machine_setup ms 
join machine_machine mm 
on mm.id=ms.machine_id 
join item_item ii 
on ii.id=ms.machine_id;
+-------------+-----------+-------+----------+
| machineid   | selection | upc   | name     |
+-------------+-----------+-------+----------+
| EE100034442 | A1        | 10001 | Snickers |
| EE100034442 | A2        | 10001 | Snickers |
| EE100034442 | A(n)      | 10001 | Snickers |
+-------------+-----------+-------+----------+

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM