私は2つのテーブルを手に入れました。すべての行がtable2に接続しているわけではありませんが、idを接続している場合、サプライヤーは同じです。クエリLIKEまたは一致を使用してtable1からすべてのレコードを選択したいのですが、サプライヤもtable2にある場合にのみ選択されます。何か案は?
table1
id | 1
supplier | 1
追加情報表:
table2
id | 1
supplier | 1
extrainfo | "Best information"
クエリ
SELECT
table1.*,table2.*
FROM
mytable_normalinfo as table1,
mytable_extrainfo as table2
WHERE
MATCH(table1.fulltextcollum)
AGAINST ('+test*' IN BOOLEAN MODE)
AND
table1.supplier = table2.supplier
AND
table1.id = table2.id
LIMIT 10;
私はあなたが欲しいと思いますleft join
:
SELECT table1.*, table2.*
FROM mytable_normalinfo as table1 LEFT JOIN
mytable_extrainfo as table2
ON table1.supplier = table2.supplier AND
table1.id = table2.id
WHERE MATCH(table1.fulltextcollum) AGAINST ('+test*' IN BOOLEAN MODE)
LIMIT 10;
2つのメモ:
JOIN
構文の使用方法を学びます。単純なルール:句にコンマを使用しないでくださいFROM
。LIMIT
、通常はも使用しますORDER BY
。この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加