这些天我一直在想什么。我的数据库中有两个表,我会称之为#34; fruit"和"颜色" (非常有创意的名字)。在表格"水果"我有两列名为" id"和"名称"。在表格"颜色"我有两列名为" id"和"名称"。没错,两个表中的列具有相同的名称。 在列"名称"表"水果"我有"香蕉"和"草莓"值。在列"名称"表"颜色"我有"黄色"和"红色"值。 我的问题是:是否可以选择" name"的值。两个表的列和显示为单个结果,即好像它来自单个表,例如"香蕉 - 草莓 - 黄色 - 红色"?
我知道SELECT不起作用,但也许他可以说明我无法用语言表达的内容。
<?php
$sql = "SELECT fruit.name, color.name FROM fruits.fruit, fruits.color";
while($line = mysql_fetch_array($sql):
echo $line['name'];
endwhile;
?>
注意:表没有外键,因此您不能使用INNER JOIN或LEFT JOIN
-----------结论--------------------
我不知道它是否对任何人有帮助,但朋友PhillipXT给出的答案是有效的,解决方案看起来像这样:
<?php
$sql = "SELECT fruit.name FROM fruits.fruit UNION SELECT color.name FROM fruits.color";
$ret = mysql_query($sql) or die(mysql_error());
if (mysql_num_rows($ret) === 0):
echo 'Zero results';
else:
while($line = mysql_fetch_array($ret)):
echo $line['name'];
endwhile;
endif;
?>
如果我做了一个愚蠢的&#34;问题是因为我试图学习。在我得到所有答案的那一天,我不需要愚蠢的问题!
答案 0 :(得分:2)
您可以使用UNION查询:
SELECT ID, Name FROM Fruit
UNION
SELECT ID, Name FROM Color
这将为您提供名为ID和Name的两列中的两个表的所有数据。