需要帮助,从两个表中找到相同的值,然后在匹配时输出结果

时间:2011-07-07 21:13:31

标签: php mysql

嗨,我对PHP和mysql相对较新,非常感谢任何帮助... pleeeeease!

我认为这很简单,但我遇到了麻烦。我有两张桌子

表1: product_color

-- Id
-- base_color
-- base_color_name
-- red
-- green
-- blue

表2:艺术作品

-- id
-- art_name
-- product color

Product_color表中的“base_color”和Artwork表中的“product_color”具有相同的值,其中Artwork表与Product Color表具有多对一关系。

我需要做的是比较两个表,如果Artwork表中的值与Product颜色表中的任何相同值匹配,那么我想回显该匹配行的红色,绿色和蓝色字段中的数据在product_table中。

我得到了mysql语句。但是对于我的生活,我无法弄清楚如何从“product_color”表中检索“红色,绿色和蓝色”值:(

这是mySQL声明:

SELECT * FROM product_color ON artwork.product_color = product_color.base_color

任何帮助都会被SOOOOO赞赏!!

1 个答案:

答案 0 :(得分:2)

你很亲密:

SELECT * FROM product_color JOIN artwork ON product_color=base_color

因为你要求一个完整的例子。这里使用的是原生函数。 (如果可以的话,我建议使用PDO,但它更复杂一些)

$res = mysql_query( "SELECT * FROM product_color JOIN artwork ON product_color=base_color" );

// check for errors
if( !$res ) {
     die( mysql_error() ); 
}

// now loop through each of the rows returned from the query.
while( $row = mysql_fetch_assoc($res) ) {
     // the row is available as an associative array by column name
     // so if you want to echo product_color:
     echo $row['product_color'];
}