私はid、first、last、およびidentカラムを持つcontactsテーブルを持っています。大きな結合で表示する名前を取得しようとしています。私は両方の列を結合するときに表示することができません。MySQL 2つのカラムを1つのテーブルに結合する問題
テーブル:これは私のSELECT
点検 同上 ORDER_ID Inspector_Id
コンタクト 同上 FIRST_NAME LAST_NAME 発注者 インスペクタ
です:
$sql = " SELECT
Inspections.Id,
Inspections.Orderer_Id,
Inspections.Inspector_Id,
Contacts.Id
Contacts.First_Name AS OFirst,
Contacts.Last_Name AS OLast,
Contacts.First_Name AS IFirst,
Contacts.Last_Name AS ILast,
FROM Inspections
JOIN Contacts ON Inspections.Orderer_Id && Inspections.Inspector_Id=Contacts.Id
WHERE
Inspections.Id = " . $trigger . ";";
これは最新の試みです。私はそれらに参加するには数多くの方法を試しましたが、検索中に見つけたコードを翻訳するのは苦労していると思います。どんな助けでも大歓迎です!
(構文エラーがクリーンアップされた後)インスペクタと発注者は、そうでない場合、あなたは二回表の別名を使用して連絡先に参加する必要があり、同じ人であればあなたの現在のクエリにのみ機能します
3つの列の値はすべて同じですか? 2つの別々の式を指定する必要があります。 'Inspections.orderer_id = Contacts.id AND inspections.inspector_id = contacts.id'のように。しかし、それが必要な場合は、1つだけに参加し、where節の 'Inspections.orderer_id = Inspections.inspector_id'を比較することをお勧めします。 –
あなたの結合条件に無効な構文があります: 'Inspections.Orderer_Id'はブール式ではありません。あなたは' Inspections.Orderer_Id = Contacts.Id'を意味すると思います。また、 '&&'は有効なSQLではないので、 'AND' – jmoerdyk
@jmoerdykを使用する必要があります。一方、' AND'はSQLの伝統ですが、mysqlは式の中で '&&'と '||'を許可します。 [手動](http://dev.mysql.com/doc/refman/5.7/en/logical-operators.html#operator_and) –