我有这些表格:
分类:
KIBE_TRAEGER :
县:
REGIONS :
联系人:
KIBE_CONTACTS :
我希望将它们全部合并以将其导出到csv。
顺便说一下。到目前为止,我尝试使用左连接和内连接直接在phpmyadmin中查询我的糟糕查询,但我对SQL的东西很差,不再学习它了:P ...
到目前为止我的代码(根据Matt Cremeen的答案编辑):
工作:
SELECT
contacts.id, contacts.firstname, contacts.surname, contacts.company,
contacts.zipcode, contacts.city, contacts.country, contacts.region,
contacts.county, contacts.tel1, contacts.tel2, contacts.mobile,
contacts.fax, contacts.email1, contacts.email2, contacts.homepage,
contacts.active, contacts.pernr, kibe_contacts.id as contacts_id,
kibe_contacts.openinghours, kibe_contacts.costs, kibe_contacts.groups,
kibe_contacts.handicapplaces, kibe_contacts.freeplaces,
kibe_contacts.traeger, kibe_traeger.id as traeger_id, kibe_traeger.name,
counties.id as counties_id, counties.region_id as region_id,
counties.country_id as country_id, counties.county_code, counties.county_de,
regions.id as regions_id, regions.country as regions_country, regions.region_de
FROM
contacts
INNER JOIN
kibe_contacts ON contacts.id = kibe_contacts.contact_id
INNER JOIN
regions ON contacts.region = regions.id
INNER JOIN
counties ON contacts.county = counties.id
不正在工作:
INNER JOIN
kibe_traeger ON kibe_contacts.traeger = kibe_traeger.id
INNER JOIN
categories ON contacts.categories = categories.id;
我收到了“Null-Result”我想我知道为什么会收到此错误:因为在kibe_contacts.traeger
列和contacts.categories
列中有多个值与{{{{1}分隔1}}例如一个条目可以有多个条目:;
但在categories.id中只有一个ID,例如4。
是否有任何解决方案可以查询出来?
上次修改:解决了我自己的第二个问题:我导出了这个列表并使用搜索&取代
再次感谢所有帮助者!
答案 0 :(得分:1)
尝试使用MySQL的GROUP_CONCAT
功能。这是我的示例SQL
我有两张桌子,clientes ('Id' int, 'nome' varchar(50) )
clientes
1 Rafael
2 Jony
3 Smith
和clientes_devices ('Id' int, 'id_cliente' int, 'device' varchar(50) )
clientes_devices
1 1 AsusZenFone
2 1 MotorolaG
3 2 WindowsPhone
这是选择命令
select c.nome, GROUP_CONCAT(DISTINCT d.device SEPARATOR ',') AS Device
from clientes c
join clientes_dispositivos d on (c.id = d.id_cliente)
where c.id = 1
这是输出
答案 1 :(得分:1)
假设id
字段对应于每个表,您将要加入该字段上的每个表。我不会在这里写下所有代码,但它会像这样开始
SELECT contacts.id, contacts.firstname, contacts.surname, ...
FROM contacts
INNER JOIN
kibe_contacts
ON contacts.id = kibe_contacts.id
INNER JOIN
regions
on contacts.region_id = regions.id
...