Php 如何从表1中获取值,在表2中搜索,找到后-获取第一个值的行值?
我有Php 如何从表1中获取值,在表2中搜索,找到后-获取第一个值的行值?,php,mysql,Php,Mysql,我有表1,这里有表2中的ids数据,看起来是这样的:(我不知道如何在这里创建一个表) 所以我想从table1中获取word1和word2值,在table2中搜索它们,然后在table2中获取它们的word\u name值。我是这样做的: SELECT a.word1, a.word2, b.word_name FROM table1 a, table2 b WHERE b.id = a.word1 OR b.id = a.word2 没有发生任何事情。如果我正确理解了你的问题,以下是示例数据:
表1
,这里有表2
中的id
s数据,看起来是这样的:(我不知道如何在这里创建一个表)
所以我想从table1
中获取word1
和word2
值,在table2
中搜索它们,然后在table2
中获取它们的word\u name
值。我是这样做的:
SELECT a.word1, a.word2, b.word_name FROM table1 a, table2 b WHERE b.id = a.word1 OR b.id = a.word2
没有发生任何事情。如果我正确理解了你的问题,以下是示例数据: id,word1\u id,word2\u id 单词表 答案如下:
让我知道这是否有效 这两个表中的公共列是哪一列?在
table1
中,它被称为word1
和word2
,在table2
中,我有id
在这里,您将列值与行值相匹配……以便表2中的多行与表中的一行相匹配1@Ashu那么它需要什么呢?检查5,7 id在id列中的表2..可以通过显示名称,其中?例如,要使用CONCAT等仅显示以字母S开头的单词,请参见我的最后一条评论。
SELECT a.word1, a.word2, b.word_name FROM table1 a, table2 b WHERE b.id = a.word1 OR b.id = a.word2
CREATE TABLE IF NOT EXISTS id (`id` INT,`w1` INT,`w2` INT
);
INSERT INTO id VALUES
(1,1,5),
(2,2,4),
(3,8,3),
(4,6,2),
(5,7,1),
(6,4,9),
(7,5,7),
(8,2,6),
(9,3,8);`
CREATE TABLE IF NOT EXISTS word (
`w_id` INT,
`word` VARCHAR(5) CHARACTER SET utf8
);
INSERT INTO word VALUES
(1,'one'),
(2,'two'),
(3,'three'),
(4,'four'),
(5,'five'),
(6,'six '),
(7,'seven'),
(8,'eight'),
(9,'nine');`
select id.w1,id.w2,w1.word,w2.word from id
join word w1 on w1.w_id = id.w1
join word w2 on w2.w_id = id.w2;
7 1 seven one
6 2 six two
8 3 eight three
2 4 two four
1 5 one five
2 6 two six
5 7 five seven
3 8 three eight
4 9 four nine