我正在尝试创建一个目录,我有两个表,条目和位置。每个条目都可以有多个位置,所以我假设最好的想法(如果错误则更正)是创建第三个表格,我指定“链接”。例如:
Marly:France
Karla:Argentina
Smith:USA
Katie:France
Smith:United Kingdom
Katie:USA
当我想列出来自法国的人时,我会进入第三个表并拉出位置=法国的名字。到目前为止我做的一切都很好,但现在我需要从法国每个人的每个姓名的条目表中检索数据(根据第三个表格)。我很确定我以前见过这件事。有什么指针吗? :d
答案 0 :(得分:1)
SELECT `entry`.*
FROM `entry`
JOIN `entry-locations` ON `entry-locations`.`entry-id` = `entry`.`name`
WHERE `entry-locations`.`location` = 'Aberdeen'
$res = mysql_query('all-that-stuff-above');
while($row = mysql_fetch_assoc($res)) {
echo $row['name'] . "\n";
}
mysql_free_result($res);
答案 1 :(得分:1)
SELECT
entryt.name AS name,
locationt.location AS location
FROM locationt, entryt
WHERE locationt.location = "France"
请记住:更改我在那里使用的名称:
应该与居住在法国的所有人一起返回“姓名”。
很确定这会奏效。如果我错了,请纠正我。
答案 2 :(得分:0)
SELECT * FROM entry WHERE name in (SELECT name FROM links WHERE location = 'FRANCE');
我假设表名为'entry'& '链接'和列名称为'entry.name'和'links.location'。