我有两张桌子,想要从表格中获取所有记录' klanten ' ' 自动化 '记录匹配 bedrijfs_id 。
这是我到目前为止所做的。
$sql = "
SELECT
`automaten`.automaat,
`automaten`.th_nummer,
`klanten`.bedrijf,
`klanten`.bedrijfs_id,
`klanten`.plaats
FROM klanten, automaten
WHERE (`klanten`.bedrijfs_id = `automaten`.bedrijfs_id)
ORDER BY `klanten`.bedrijf ASC
";
结果:
+------------+-------------+-----------+--from automaten--+------------+
153509 | Amigo | Smilde | Hot Rocks | 6170155 |
153509 | Amigo | Smilde | Cash Attack | 6410031 |
153512 | Boekanier | Steenwijk | Red Hot Active | 6980051 |
153512 | Boekanier | Steenwijk | Turboplay | 6550298 |
-----------------------------------------------------------------------
bedrijfs_id | bedrijf | plaats | automaat | th_nummer |
+------------+-------------+-----------+------------------+------------+
表克兰滕
bedrijf
bedrijfs_id
国家地点
ADRES
telefoon
等
表自动 bedrijfs_id automaat th_nummer
所以我想在没有任何自动化字段的情况下获得记录。 (必须填写) 评论:改进格式,更正拼写 Mysql表连接来自2个表的记录,但获得所有记录甚至是具有空字段的记录 我有2张桌子,想要从表格中获取所有记录' klanten'以及'自动化'记录匹配bedrijfs_id。
仍然没有可行的解决方案:(
答案 0 :(得分:2)
我认为你打算做一个LEFT JOIN
而不是
SELECT
`automaten`.automaat,
`automaten`.th_nummer,
`klanten`.bedrijf,
`klanten`.bedrijfs_id,
`klanten`.plaats
FROM klanten
LEFT JOIN automaten
ON `klanten`.bedrijfs_id = `automaten`.bedrijfs_id
ORDER BY `klanten`.bedrijf
答案 1 :(得分:0)
这应该是你的解决方案:
$sql = "
SELECT
`automaten`.automaat,
`automaten`.th_nummer,
`klanten`.bedrijf,
`klanten`.bedrijfs_id,
`klanten`.plaats
FROM klanten
LEFT JOIN automaten
ON `klanten`.bedrijfs_id = `automaten`.bedrijfs_id
ORDER BY `klanten`.bedrijf ASC
";
此致 V
答案 2 :(得分:0)
您必须使用左外连接:
http://dev.mysql.com/doc/refman/5.0/en/join.html
您的查询将如下所示:
SELECT
GROUP_CONCAT(`automaten`.automaat),
`automaten`.th_nummer,
`klanten`.bedrijf,
`klanten`.bedrijfs_id,
`klanten`.plaats
FROM klanten
LEFT OUTER JOIN automaten
ON `klanten`.bedrijfs_id = `automaten`.bedrijfs_id
GROUP BY bedrijfs_id,bedrijf,plaats
ORDER BY `klanten`.bedrijf ASC