2009-10-06 92 views
0

我想创建一个只有一列的视图。如果我的两张桌子看起来如下所示:在mysql中的单个列中创建视图并显示结果

表1: ID |名称 1 | Joe

表2: ID |地址 1 | 123 BlueBerry St.

该视图如下所示: 查看: newcolumn | 乔 123蓝莓圣

我这样做的原因是因为我有searchs用下面的PHP/jQuery代码单栏自动完成的文本框:

$query = $db->query("SELECT value FROM countries WHERE value LIKE '$queryString%' LIMIT 10"); 
if($query) { 
    while ($result = $query ->fetch_object()) { 
    echo '<li onClick="fill(\''.$result->value.'\');">'.$result->value.'</li>'; 
    } 
    } 

如果有更好的办法比把这个解决方案的所有值放在一个列中,请让我知道。

+1

我知道这不是你要求的,但它值得研究MVC,因此你可以从你的视图开始分离你的逻辑。 – Andrew 2009-10-06 18:06:59

回答

0

您无法通过任何方式查看您的视图。对所有要匹配的列执行表加入和LIKE查询。

SELECT value FROM table1 INNER JOIN table2 USING (id) WHERE table1.col1 LIKE '%:query%' AND table2.col1 LIKE '%:query%' LIMIT 10 

请不要在您的查询字符串中使用PHP变量。使用PDO而不是

+0

谢谢保罗,虽然什么专栏是'价值'?我只能返回一列结果,我希望列的值可以来自table1或table2的col1。 – Atma 2009-10-06 18:18:29