我有两张桌子 -
DEALS
----------------------------------------------
ID PHONE_NAME CONTRACT_NAME
19 iPhone 5 Talk 200
72 Galaxy S4 Talk 300
36 Xperia Z1 Talk 400
---------------------------------------------- etc etc
和
CONTRACTS
----------------------------------------------
ID PACKAGE INCLUDED_VALUE DATA
11 Talk 200 100 minutes 1GB
23 Chat 750 Free insurance 2GB
63 Talk 400 Free car 700MB
84 Talk 300 Free dog 650MB
---------------------------------------------- etc etc
我尝试(徒劳)做的就是显示数据:
iPhone 5 Talk 200 100 minutes and 1GB
Galaxy S4 Talk 300 Free dog and 650MB
Xperia Za Talk 400 Free car and 700MB
所以基本上,我想在Deal表中显示每个交易及其信息,并将CONTRAL表中的CONTRACT_NAME与CONTRACTS表中相应的PACKAGE列(每个包都是唯一的,没有重复的)相匹配,以便显示INCLUDED_VALUE和DATA列以及常规交易信息。因此,最终的结果是,不要只是在Talk 200'上看到iPhone 5。它会在Talk 200上用100分钟和1GB的数据说“iPhone 5”。
我尝试过学习JOINS,但是我的大脑让我非常失败(虽然没有正规表达的竞争,哈哈) - 有人可以请求帮助吗?
答案 0 :(得分:2)
SELECT
DEALS.PHONE_NAME,
DEALS.CONTRACT_NAME,
CONCAT(CONTRACTS.INCLUDED_VALUE,' and ',CONTRACTS.`DATA`)
FROM
DEALS INNER JOIN CONTRACTS
ON DEALS.CONTRACT_NAME=CONTRACTS.PACKAGE
答案 1 :(得分:0)
您可以使用以下内容解决查询:
SELECT PHONE_NAME,PACKAGE,CONCAT(INCLUDED_VALUE,'和',DATA)来处理内部联合合作b a a.CONTRACT_NAME = b.PACKAGE
再见。