2012-05-06 11 views
1

私は2つのテーブルを持っています。私のテーブルは以下の通りです。私はgetTag.phpというスクリプトを持っています。アイデアは、ユーザは、私がタグをつけたすべてのポートフォリオ項目、phpを見たいと思っています。しかし、私はしたくない:クエリの問題を結合する

SELECT t.portfolio_item_id, p.* 
FROM tags t 
INNER JOIN portfolio p ON t.portfolio_item_id = p.id 
WHERE t.$skillArea = '1' 

私は、あまりにも、タグテーブルのすべての列を取得し、それらを参加したいです。もしそうであればポートフォリオテーブルにおいても対応するポートフォリオ品目の行に沿ってタグテーブルでPHP = 1、タグテーブルの列とその値の残りの部分を取得

  • ポートフォリオ

    ID
    ITEM_NAME
    URL

  • タグ

    はあなたがあまりにもSELECT *を単に行うことができますが、私はあなたを証明するために、TとPが含まれている
    PHP
    HTML
    デザイン
    CSS

    等...

+1

あなたが 'select * from ... 'を望むように見えるので、おそらく何かが見つからないでしょう。 – Aprillion

+0

あなたはいません。私は結合に慣れていません!それは問題だった、私は再びタグを選択しなければならないと思った – Nicola

答えて

2
SELECT t.*, p.* 
FROM tags t 
INNER JOIN portfolio p ON t.portfolio_item_id = p.id 
WHERE t.$skillArea = '1' 

をportfolio_item_id間違えた。

  • トンは、タグテーブルの別名は
  • pは、ポートフォリオテーブルの別名

  • トンです。*タグテーブルからすべての列

  • Pに戻します。*もたらしますポートフォリオテーブルのすべての列を戻す

t.portfolio_item_idには、1列しか戻しませんでした。*はです。使用されるは、そのテーブル内のすべての列を返します。

+0

ありがとう、私はジョインとSQLに本当に感謝時間をあなたが物事を説明するために取ることに感謝 – Nicola

+0

ああ、選択tの* FROM文は、なぜあなたはテーブルを指定する必要はありません? – Nicola

+0

@Nicolaタグのエイリアスであるテーブル(t)を指定しました。 * –